project_dev
CIを3つのブランチとdev_1.0、dev_1.1、dev_1.2のような特定の種類のタグに対してのみ設定したいと思います。
どうすればそれを達成できますか?
これは私が今持っているものです:
project_dev: ステージ:dev スクリプト: -エクスポート -バンドルexecポッドリポアップデート -バンドルexecポッドインストール -バンドルexec fastlane crashlytics_project_dev after_script: -rm -rf〜/ Library/Developer/Xcode/Archives || true いつ:手動 のみ: -開発 -リリース -マスター -//ここに追加する必要があります特定のタグに対してのみそのステージをさらに起動する条件。ここで正規表現を設定するにはどうすればよいですか? タグ: -iOS
次のように入力すると:
のみ: -ブランチ -/^dev_[0-9.]*$/
dev1.2のようなタグのCIも実行しますが、実行しないでください。どうして?タグの正規表現はありますか?
正規表現の質問のように聞こえます。 gitlab.comで 正規表現 の project を作成しました。
ファイル: 。gitlab-ci.yml
project_dev:
# Irrelevant keys is skipped
script:
- echo "Hello World"
only:
- develop
- release
- master
- /^dev_[0-9]+(?:.[0-9]+)+$/ # regular expression
私はプッシュされました すべてのタグ この正規表現をテストするためにあなたが言及しました。
ご覧のとおり、dev_1.0
、dev_1.1
のようなタグに一致しますが、ジョブproject_dev
はタグdev1.2
によってトリガーされません。結果は次のように確認できます- パイプライン ページ
Gitlab.com? except
とonly
の組み合わせを試すことができます。何かのようなもの
only:
- tags
- branches
except:
- /^(?!(branch1|branch2|branch3|dev_[0-9.]*$)$).*$/
アイデアは、ブランチとタグのみがジョブをトリガーできるようにすることです。ただし、branch [1-3]およびdev_branchs/tagsとは異なるすべてのものを除きます。