Outils pour utilisateurs

Outils du site


informatique:devops:ci-avec-gitlab

Quelques pointeurs:

Pour déployer :

# on reconstruit l'image (sur la branche master)
docker-compose build app-prod
# et on la pousse sur le registre
docker-compose push app-prod
 
# il faut ensuite la tirer sur le serveur de prod
docker pull gitlab-registry.serveur-registre.tdl/user/projet/image:tag
# et l'instancier
docker-compose up -d

Conditionner l'exécution de la CI

Pointeur : https://docs.gitlab.com/ee/ci/yaml/

Pourquoi : En premier lieu pour éviter de faire tourner des serveurs pour rien, mais ça peut-être aussi pour ne déployer qu'au moment opportun… il est intéressant de conditionner l'exécution de la CI au lieu de chaque commit.

Que sur la branche master/main… ou la branche par défaut

Que sa la branche master :

workflow:
  rules:
    - if: '$CI_COMMIT_BRANCH == "master"'
      when: always

Que sur la branche par défaut :

workflow:
  rules:
    - if: $CI_COMMIT_REF_NAME == $CI_DEFAULT_BRANCH
On peut noter qu'on ne fait pas appel à la même variable… pour en savoir plus https://docs.gitlab.com/ee/ci/variables/predefined_variables.html

Que si le commit contient un drapeau

On peut conditionner l'exécution ou la non-exécution en fonction du message du commit :
Ne sera déclenché que si le texte du commit fini par -build (git cim “release, on déploie… -build”)

workflow:
  rules:
    - if: $CI_COMMIT_MESSAGE =~ /-build$/

Ne sera pas déclenché si le commit contient -draft en fin de son texte (git cim “fix: modif mineure, -draft”)

workflow:
  rules:
    - if: $CI_COMMIT_MESSAGE =~ /-draft$/
      when: never
informatique/devops/ci-avec-gitlab.txt · Dernière modification : 2023/10/06 11:46 de bertrand