Gitlab CIで、特定のファイルセットに変更が発生した場合にのみ、ビルドをトリガーするにはどうすればよいですか?
特定のファイルを含めたり、除外したりしてビルドをトリガーする方法はありますか?たとえば、README.md, .gitignore
ファイルを更新しても、ビルドはトリガーされません。
更新2
/以外は不安定な機能のようです。代わりにrules:changes
を使用することをお勧めします。
job:
script:
- build # replace with your build command
rules:
- changes:
- /*.{Java, py} # ... or whatever your file extension is
更新1:
コメントに記載されている Gajus のように、これが可能になりました!
マージリクエスト: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/21981
Documentation: https://docs.gitlab.com/ee/ci/yaml/#onlyexcept-basic (ありがとう Connor Shea コメントのヒント)
元の投稿:
いいえ、それは不可能です–今ではできません!
私はこれがあなたが探している問題だと思います: https://gitlab.com/gitlab-org/gitlab-ce/issues/19232 –これは非常に高い評価の問題です(100以上のサンプ-アップ)。
マイルストーンはNext 3-6か月、4か月前に変更されました。 ( https://gitlab.com/gitlab-org/gitlab-ce/issues/19232#note_3194385 )この機能がすぐに見られることを願っています。
更新:これは11.4以降で可能になりました https://docs.gitlab.com/ee/ci/yaml/#onlychangesexceptchanges を参照してください
元の投稿:
現在、編集されたファイルに基づいて条件付きでGitLab CIでビルドをトリガーする方法はありません。
私は以前この機能について考えたことがありますが、さまざまなユースケースで非常に役立つと思います。
私がこれについて見つけることができる最も近い問題は https://gitlab.com/gitlab-org/gitlab-ce/issues/2301 です
とにかく、あなたの質問に答えるには:
CIにはマージリクエストの概念がないため、マージリクエストによってファイルが変更されたかどうかを判断する方法がないため、現時点では手動でこれを行うことはできません。
マージ要求が何であるかを「理解」するパイプラインは、近いうちに追加する必要があります。
誤ってあなたの質問を見つけました。少し遅いと思います:)しかし、その機能はバージョン11.4以降で利用可能です
docs を参照