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

  1. prod_generate_assets:
  2.   image: node:10.15.2
  3.   script:
  4. - npm install -g gulp
  5. - npm install --silent
  6. - gulp build
  7. - ...
  8.   only:
  9.   refs:
  10. - master
  11.   changes:
  12. - web/themes/custom/**/*.scss
  13. - web/themes/custom/**/*.js
  14.   except:
  15.   refs:
  16. - schedules
  17.   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é

HTML restreint

  • Balises HTML autorisées : <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Les lignes et les paragraphes vont à la ligne automatiquement.
  • Les adresses de pages web et les adresses courriel se transforment en liens automatiquement.