2022年12月1日木曜日

GitlabICIでスケジュールの場合だけ実行するジョブを設定する方法

GitlabICIでスケジュールの場合だけ実行するジョブを設定する方法

概要

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 件のコメント:

コメントを投稿