GitLab CI Pipeline sur branche spécifique seulement
Je suis en train de mettre en œuvre GitLab CI Pipelines de construire et de déployer Angulaire de l'app. Dans notre projet, nous avons deux grandes branches: master
(pour la production) et develop
. Pour le développement, nous créons feature/some-feature
branches de develop
branche. Une fois le développement terminé, nous créons de la demande de fusion de feature/some-feature
à develop
. Lors de la demande de fusion approuvé et fusionnés en develop
branche je veux exécuter un Pipeline dans le but de générer une application et la déployer sur certains environnement.
J'utilise la configuration suivante .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 le Pipeline exécuté à chaque fois que je la pousse dans toute feature/some-feature
branche. Quel est le problème avec ma configuration? Comment puis-je la force de la Canalisation pour être exécuté seulement lors de la poussée effectuée dans develop
branche directement?
Solution
C'était mon erreur - j'ai eu deux différents .gitlab-ci.yml fichiers dans develop
branche et feature/some-feature
branche.
OriginalL'auteur ProximaCygni | 2017-10-26
Vous devez vous connecter pour publier un commentaire.
C'était mon erreur - j'ai eu deux différents .gitlab-ci.yml fichiers dans
develop
branche etfeature/some-feature
branche et c'est pourquoi le Pipeline a été exécutée pour toutes les branches.OriginalL'auteur ProximaCygni
Je suggère de déplacer le
tag après votre script: tag
Parce que yaml est indentation sensibles
L'ordre est différent de celui de l'indentation. Cette proposition a un sens d'un point de vue de la propreté, mais autant que je sache (me prouver le contraire) ne devrait pas affecter l'exécution du script CI.
OriginalL'auteur Sergiu