D'où le runner obtient-il le code à exécuter?
sobes.tech IA
Réponse de l'IA
Le Runner obtient le code à exécuter depuis le référentiel du système de contrôle de version, généralement via un protocole comme Git. L'URL spécifique du référentiel et la branche (ou tag, commit) sont indiquées dans la configuration du pipeline qui lance ce runner.
Le processus d'obtention peut ressembler à ceci :
- Le Runner reçoit la commande d'exécuter une tâche de l'orchestrateur CI/CD (par exemple, GitLab CI/CD, GitHub Actions, Jenkins).
- Avec la commande, des informations sur la tâche sont transmises, y compris le lien vers le référentiel, la branche/le commit et le contexte d'exécution.
- Le Runner effectue une opération de clonage du référentiel (ou d'une partie) dans son espace de travail temporaire local.
- Après un clonage réussi, le runner bascule sur le commit, la branche ou le tag spécifié, garantissant de travailler avec la bonne version du code.
Exemple de commande de clonage dans GitLab CI :
# Cloner le référentiel indiqué dans la variable CI_REPOSITORY_URL
git clone "$CI_REPOSITORY_URL" "$CI_BUILDS_DIR/$CI_PROJECT_NAME"
# Aller dans le répertoire du projet
cd "$CI_BUILDS_DIR/$CI_PROJECT_NAME"
# Vérifier le commit nécessaire
git checkout "$CI_COMMIT_SHA"
Dans certains cas, si une mise en cache est présente, le runner peut d'abord vérifier si une copie locale du référentiel existe et ne faire que git fetch et git checkout pour mettre à jour l'état, au lieu de cloner entièrement.
La configuration qui définit la source du code est généralement spécifiée dans un fichier YAML décrivant le pipeline (par exemple, .gitlab-ci.yml, .github/workflows/*.yml).