Dans Gitlab CI, comment déclencher une construction uniquement si des modifications sont apportées à un ensemble de fichiers particulier?
Existe-t-il un moyen d'inclure ou d'exclure certains fichiers du déclenchement d'une construction? Par exemple: la mise à jour des fichiers README.md, .gitignore
ne devrait pas provoquer le déclenchement d'une construction.
UPDATE:
Comme Gajus mentionné dans les commentaires, il est maintenant possible!
https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/21981
Message d'origine :
Non, ce n'est pas possible - pas maintenant!
Je pense que c’est le problème que vous recherchez: https://gitlab.com/gitlab-org/gitlab-ce/issues/19232 - C’est un problème très bien noté (plus de 100 critiques).
Le jalon a été changé en 3-6 mois suivants il y a 4 mois. ( https://gitlab.com/gitlab-org/gitlab-ce/issues/19232#note_31943850 ) J'espère que nous verrons cette fonction bientôt.
Mise à jour: Ceci est maintenant possible à partir de 11.4, voir https://docs.gitlab.com/ee/ci/yaml/#onlychanges
Message original:
Il n'y a actuellement aucun moyen de déclencher une construction dans GitLab CI de manière conditionnelle en fonction des fichiers qui ont été modifiés.
J'ai déjà pensé à cette fonctionnalité et je pense qu'elle pourrait être très utile pour différents cas d'utilisation.
Le problème le plus proche que je puisse trouver pour cela est https://gitlab.com/gitlab-org/gitlab-ce/issues/23010
Quoi qu'il en soit, pour répondre à votre question:
Vous ne pouvez pas vraiment le faire pour le moment, même manuellement, car il est impossible de déterminer si une demande de fusion a modifié un fichier ou non, car CI n’a aucun concept de demande de fusion.
Les pipelines "comprenant" les demandes de fusion devraient être ajoutés prochainement.
Accidentellement trouvé votre question. Je pense que c'est un peu en retard :), mais cette fonctionnalité disponible depuis la version 11.4
voir docs