アイキャッチ

実装・エラー解決

マージリクエスト作成済みのブランチにプッシュした際にビルドを実行する

GitLabで、マージリクエストを作成したときと、作成済みのマージリクエストのソースブランチへ追加でpushしたときにビルドを走らせます。

gitlabのCI/CDパイプライン

マージリクエスト専用のパイプラインを持つ新規設定の例です。プロジェクトのルートに .gitlab-ci.yml と build.sh を置きます。

workflow:
  rules:
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'

stages:
  - build

build_job:
  stage: build
  script:
    - sh ./build.sh
#!/bin/sh
set -eu

mkdir -p build
printf '%s\n' 'build smoke check' > build/output.txt
test -s build/output.txt

マージリクエストなしのブランチpushでは、この設定のパイプラインは起動しません。マージリクエストを作成したときと、そのソースブランチへの追送pushでは、マージリクエスト用パイプラインが起動します。ブランチやタグ向けの既存ルールがあるプロジェクトでは、そのルールと合わせて workflow を設計してください。

build.sh はジョブが実行されたことを確かめる最小例です。業務プロジェクトでは、同じ箇所へ実際のビルドコマンドを入れます。

出典 GitLabのマージリクエスト用パイプライン

-実装・エラー解決
-