Gitlab CI - Ne lancer une tâche que lorsque que certains fichiers sont modifiés

J’utilise énormément la partie « CI » de Gitlab pour déployer automatiquement les sites et applications web que je gère.

Lors d’une formation sur le sujet, nous avons avec mon stagiaire mis en place une condition à l’exécution d’une tâche (job). Le but était de ne lancer la tache gulp en charge de générer les fichiers CSS et javascript uniquement si un des fichiers sources (sass ou js) était modifié, et non plus à chaque déploiement.

Voici la définition de la tâche en question dans le fichier .gitlab-ci.yaml

prod_generate_assets:
  image: node:10.15.2
  script:
    - npm install -g gulp
    - npm install --silent
    - gulp build
  rules:
    - if: $CI_COMMIT_BRANCH == "master" && $CI_PIPELINE_SOURCE != "schedule"
      changes:
        - web/themes/mon_theme/src/assets/css/**/*.scss
        - web/themes/mon_theme/src/assets/js/**/*.js
  stage : postdeploy

Ainsi avec la directive changes, cette tâche ne sera lancée que si un fichier *.scss ou *.js est modifié dans un des thèmes du dossier custom.

Un petit bonjour à Adrien, si tu tombes sur ces lignes !

 

Ajouter un commentaire

Ne sera pas publié
CAPTCHA
Désolé, pour ça, mais c'est le seul moyen pour éviter le spam...