2021年8月5日木曜日

gitlab-ci で特定のタグだけジョブを実行する方法

gitlab-ci で特定のタグだけジョブを実行する方法

概要

タグのみにジョブを実行したい場合に使えるテクニックを紹介します

環境

  • Gitlab 13.12.5-ee
  • Gitlab Runner 14.1.0

.gitlab-ci.yml

ポイントはジョブ内で rules を使います タグ名は $CI_COMMIT_TAG で取得できます

今回は v0.0.1 などのセマンティクスバージョニングの形式の場合のみジョブを実行するように正規表現を使っています

stages:
  - test
test_job:
  stage: test
  rules:
    - if: $CI_COMMIT_TAG =~ /^v\d+.\d+.\d+/
  script:
    - hostname

動作確認

タグして push しましょう

  • git tag v0.0.1
  • git push -u origin v0.0.1

タグに対してのみジョブが流れるのが確認できるかなと思います

もしブランチに対して実行しようとすると以下のようなエラーが発生します

最後に

0 件のコメント:

コメントを投稿