Hello,
J'ai lu plusieurs tuto en francais et regardé plusieurs video et malgré tout ca il y a des choses que je ne comprends pas sur le fonctionnement de Git en général, des gitlab runner et des pipelines.
1) Déjà est-ce que le runner c'est un container Docker ou est-ce juste l'agent installé sur le serveur (par exemple le serveur web qui va recevoir une nouvelle livraison) et qui scrute le repo git (donc l'origine) en l'attente d'un push ?
Si c'est un container Docker où s'excute t'il ? Chez gitlab.com ou sur le serveur qui va recevoir la livraison ?
2) J'ai lu que le "script" ou les stages contenu dans le .gitlab-ci.yml s'éxécutent à chaque commit de code. Est-ce que ça veut dire que Gitlab indique à la machine d'où est partie le commit d’exécuter le contenu du .gitlab-ci.yml ?
3) Qu'est-ce qu'on appelle pipeline ? Est-ce un Job ? Un ensemble de Job strictement défini ? L'ensemble des jobs/tasks contenus dans le .gitlab-ci.yml ?
4) Si j'ai bien compris il ne peut y avoir qu'un seul .gitlab-ci-yml par branche git ?
Donc si j'ai 5 environnements différents (par ex LOCAL, TEST, DEV, STAGING, PROD) et que je veux un déploiement entièrement automatique et changer quelques détails en fonctione de l'environnement jusqu'en STAGING il faut que j'organise mon projet en 5 branches différentes avec chacune un fichier .gitlab-ci-yml ?
5) Qu'est-ce qui se passe à l'issue d'une merge request si par exemple je veux merger la branche STAGING vers la branche PROD ?
Est-ce que ma branche STAGING continue d'exister et son .gitlab-ci-yml reste inchangé? Ou disparait elle ? En d'autre termes est-ce qu'une MR c'est seulement le remplacement du contenu de ma branche PROD par celui de la branche STAGING par une sorte de rm -rf prod/
et cp -R STAGING/ PROD/ ?
Bon comme vous le voyez jj'ai pas tout compris et c'est un sacré sac de noeud dans ma tête donc svp n'hesitez pas à détailler vos explications.
Si y 'en a qui ont des schémas, des blogs ou des videos qui résument tout ça je suis preneur.
Georges
Partager