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

Posté le Samedi 4 mai 2019 - 13:09

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
    - ...
  only:
    refs:
      - master
    changes:
      - web/themes/custom/**/*.scss
      - web/themes/custom/**/*.js
  except:
    refs:
      - schedules
  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 !

 

Aller plus loin ?

 

Ajouter un commentaire

Ne sera pas publié

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