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