De onde o runner obtém o código para executar?
sobes.tech IA
Resposta da IA
O Runner obtém o código para executar a partir do repositório do sistema de controlo de versões, geralmente através de um protocolo como o Git. A URL específica do repositório e o ramo (ou etiqueta, commit) são indicados na configuração do pipeline que inicia este runner.
O processo de obtenção pode ser o seguinte:
- O Runner recebe a ordem de executar uma tarefa do orquestrador CI/CD (por exemplo, GitLab CI/CD, GitHub Actions, Jenkins).
- Juntamente com a ordem, são transmitidas informações sobre a tarefa, incluindo o link para o repositório, o ramo/commit e o contexto de execução.
- O Runner realiza uma operação de clonagem do repositório (ou parte dele) no seu espaço de trabalho temporário local.
- Após uma clonagem bem-sucedida, o runner muda para o commit, ramo ou etiqueta especificada, garantindo trabalhar com a versão correta do código.
Exemplo de comando de clonagem no GitLab CI:
# Clonar o repositório indicado na variável CI_REPOSITORY_URL
git clone "$CI_REPOSITORY_URL" "$CI_BUILDS_DIR/$CI_PROJECT_NAME"
# Entrar no diretório do projeto
cd "$CI_BUILDS_DIR/$CI_PROJECT_NAME"
# Verificar o commit necessário
git checkout "$CI_COMMIT_SHA"
Em alguns casos, se houver cache, o runner pode primeiro verificar se existe uma cópia local do repositório e apenas fazer git fetch e git checkout para atualizar para o estado necessário, em vez de clonar completamente.
A configuração que define a fonte do código geralmente é especificada num ficheiro YAML que descreve o pipeline (por exemplo, .gitlab-ci.yml, .github/workflows/*.yml).