2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【GitLab CI/CD】Default branchへのマージをトリガーとしてジョブを実行する

Posted at

GitLabCI/CDを用いてDefault branchに設定されているブランチに変更がマージされた時のみジョブを実行する処理を実装します。

やりたいこと

「Default branchに変更がマージされたら変更内容を自動で検証環境にデプロイする」みたいなことをするパイプラインを構築することが目的です。
(デプロイ先のサーバを用意するのが面倒なので、今回は文字列を標準出力に出力するだけにします。)

環境

  • GitLab.com (オンプレミス版での動作確認はできていません)

実装例

.gitlab-ci.yml

# stageを定義(今回は無くてもよいです)
stages:
  - deploy

deploy_job:
  stage: deploy
  # 処理内容
  script:
   - echo "Hello, Wolrd"
   - echo "$CI_DEFAULT_BRANCH"
  # ジョブを実行する条件を記述
  rules:
   - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH'

コード解説

  • CI_COMMIT_BRANCH: コミットされたブランチ名を参照する環境変数です。GitLabであらかじめ定義されています。
  • CI_DEFAULT_BRANCH: デフォルトブランチ名を参照する環境変数です。こちらもGitLabで定義されています。

「リモートリポジトリ上で変更をマージする」というアクションがコミットとして扱われることを理解するのに時間がかかり、マージをジョブの実行条件とする方法に悩みました。

「コミット = 変更内容を登録すること」と解釈するとマージもコミットとして扱われることは腑に落ちます。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?