web-dev-qa-db-ja.com

特定のブランチのみのGitLab CIパイプライン

GitLab CIパイプラインを実装してAngularアプリをビルドおよびデプロイしようとしています。プロジェクトには、2つの一般的なブランチがあります:master(本番のみ)およびdevelop。開発用にfeature/some-featureブランチをdevelopブランチから作成します。開発が終了したら、feature/some-featureからdevelopへのマージリクエストを作成します。マージリクエストが承認され、develop branchアプリケーションをビルドし、特定の環境にビルドをデプロイするためにPipelineを実行します。

.gitlab-ci.ymlで次のセットアップを使用します。

image: node:7.5-configured

stages:
    - build
    - deploy

build_job:
    stage: build
    only:
        - develop
    script:
        - /bin/bash <some script here>

...

問題は、feature/some-featureブランチにプッシュするたびにPipelineが実行されることです。セットアップの何が問題になっていますか?プッシュがdevelopブランチに直接実行されたときにパイプラインを強制的に実行するにはonlyどうすればよいですか?

Solutionそれは私の間違いでした-developブランチとfeature/some-featureブランチに2つの異なる.gitlab-ci.ymlファイルがありました。

18
ProximaCygni

それは私の間違いでした-developブランチとfeature/some-featureブランチに2つの異なる.gitlab-ci.ymlファイルがあったため、すべてのブランチでPipelineが実行されました。

5
ProximaCygni

私は移動することをお勧めします

only:
  - develop

scriptタグの後のタグ。

3
Sergiu