web-dev-qa-db-fra.com

Pipeline GitLab CI sur une branche spécifique uniquement

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.

18
ProximaCygni

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.

5
ProximaCygni

Je suggère de déplacer le

only:
  - develop

balise après votre balise script.

3
Sergiu