==== Quelques pointeurs: ==== * [[https://www.youtube.com/watch?v=URcMBXjIr24|tuto un peu ancien mais intéressant de grafikart]] * [[https://docs.gitlab.com/ce/ci/|aide gitlab sur ci]] 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