YMLファイルで説明されているプロジェクトビルドスクリプトを改善しようとしています。改善自体は非常に簡単に思えますが、自動ビルドを誤って台無しにするという考えは少し怖いです。
現在、プロジェクトにはいくつかのブランチ、バージョンタグ、その他のものがあります。
異なるプラットフォームでビルドをテストするために仮想マシン間で巨大なプロジェクトを何らかの方法でコピーすることはまったく便利ではないため、ランナーによってビルドされていない開発ブランチが役立ちます。したがって、ビルドから「prj-dev」ブランチを除外したいと思います。
そして、そこにあります:
stages:
- build
- linuxbuild
job:
tags:
- win2008build
stage: build
script:
# something complex
job1:
tags:
- linux
stage: linuxbuild
script:
# something else complex
私はグーグルで検索し、次のような解決策を見つけました:
stages:
- build
- linuxbuild
job:
tags:
- win2008build
branches:
except:
- *dev-only
しかし、私たちのパイプラインはかなり異なっているようです。タグはgitタグではなく、パイプラインタグです。だから、私はむしろ次のような設定を使用することを検討しています:
stages:
- build
- linuxbuild
job:
tags:
- win2008build
except:
branches:
- *dev-only
...これは「通常どおりにビルドするが、私のブランチではない」という意味です。両方の方法を試すことには複雑さがあります、私は誰かが確かにレシピを知っているべきであるとかなり確信しています。
ですから、よろしければ、パイプラインを変更せずにdevブランチを除外するにはどうすればよいですか、構成のみですか?それは可能ですか?
gitlab-ci.yml
ファイルでexcept
を使用し、次のようにブランチをすぐ下に追加するだけです。
mybuild:
stage: test
image: somedockerimage
script:
- some script running
except:
- branch-name
これは問題なく私のプロジェクトに取り組んでいます。