J'essaie d'implémenter les pipelines GitLab CI pour créer et déployer une application Angular. Dans notre projet, nous avons deux branches générales: master
(pour la production uniquement) et develop
. Pour le développement, nous créons feature/some-feature
branches de develop
branche. Lorsque le développement est terminé, nous créons une demande de fusion de feature/some-feature
à develop
. Lorsque la demande de fusion est approuvée et fusionnée dans la branche develop
, je souhaite exécuter un pipeline afin de créer une application et de déployer la construction sur un environnement donné.
J'utilise la configuration suivante dans .gitlab-ci.yml:
image: node:7.5-configured
stages:
- build
- deploy
build_job:
stage: build
only:
- develop
script:
- /bin/bash <some script here>
...
Le problème est que Pipeline s’exécute chaque fois que j’appuie sur un feature/some-feature
branche. Quel est le problème avec ma configuration? Comment puis-je forcer le Pipeline à être exécuté niquement lorsque Push effectué directement dans la branche develop
?
Solution C'était mon erreur - j'avais deux fichiers .gitlab-ci.yml différents dans develop
branch et feature/some-feature
branche.
C'était mon erreur - j'avais deux fichiers .gitlab-ci.yml différents dans develop
branch et feature/some-feature
_ et c'est pourquoi le pipeline a été exécuté pour toutes les branches.
Je suggère de déplacer le
only:
- develop
balise après votre balise script
.