概要
GitlabCI のスケジュール機能はパイプラインを実行するので基本すべてのジョブが実行されます
スケジュール実行のときに特定のジョブだけ実行する方法を紹介します
バージョン
- Gitlab-ee 15.4.3
- Gitlab-runner 15.3.0
サンプル .gitlab-ci.yml
stages:
- test
test_manual:
stage: test
image:
name: python:3.10.2-buster
script:
- python -V
except:
- schedules
test_auto:
stage: test
image:
name: python:3.10.2-buster
script:
- python -V
only:
- schedules
ちょっと解説
except と only を使います
except は除外なのでスケジュールのときは実行しません
only はそのときだけ実行するのでスケジュールのときだけ実行します
こうするとスケジュールのときだけ test_auto が実行されます
それ以外の手動で実行したい場合は test_manual を使います
ちなみに when: manual
でスケジュール時の実行を無視できますが when を使った場合は push 時の自動実行もなくなります
スケジュールの登録方法
はこちらで紹介しています
0 件のコメント:
コメントを投稿