0
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?

無料ユーザーも使える!GitLab 18.4 新機能「パイプラインのブランチ別シミュレーション」でCI/CD検証がもっと便利に

0
Posted at

無料ユーザーも使える!GitLab 18.4 新機能「パイプラインのブランチ別シミュレーション」でCI/CD検証がもっと便利に

はじめに

GitLab 18.4(2025年9月18日リリース)で、地味だけど実務でかなり役立つ機能が追加されました。

それが 「Simulate CI/CD Pipelines against different branch」、日本語にすると「異なるブランチに対するCI/CDパイプラインのシミュレーション」です。

この機能、Free プランのユーザーにも使えます。 有料プランへのアップグレードは不要です。

本記事では、この機能の概要・使い方・どんな場面で役立つかを紹介します。


対象バージョン・プラン

項目 内容
対象バージョン GitLab 18.4 以降
対象プラン Free / Premium / Ultimate(全プラン対応)
対象オファリング GitLab Dedicated(リリースノート記載時点)

補足: 18.4 のリリースノートでは GitLab Dedicated での提供として記載されています。GitLab.com・Self-Managed への対応状況は公式ドキュメントで最新情報をご確認ください。


これまでの課題:デフォルトブランチしかシミュレーションできなかった

GitLab には、.gitlab-ci.yml を編集する パイプラインエディター(Build > Pipeline editor)があります。

その中に 「Validate」タブ という機能があり、変更をコミットする前にパイプラインの動作をシミュレーションして、設定ミスを事前に確認できます。具体的には、rules の条件や needs によるジョブ依存関係といったロジックの問題を、コミット前にトラブルシュートできます。

ただしこれまでは、シミュレーション対象が デフォルトブランチ(通常は mainmaster)のみ に限定されていました。

たとえば:

  • feature/ ブランチのみで動くジョブを検証したい
  • release/ ブランチの rules 設定が正しいか確認したい
  • ステージングブランチ固有の動作をコミット前にチェックしたい

このようなケースでは、実際にコミットして動かしてみるしか方法がありませんでした。


GitLab 18.4 の改善:任意のブランチでシミュレーション可能に

今回のリリースで、Validate タブで任意のブランチを選んでシミュレーションを実行できるようになりました。

Pipeline run source というドロップダウンから対象ブランチを選ぶだけです。

使い方

  1. 上部の検索バーで 「Search or go to」 からプロジェクトを選択する
  2. 左サイドバーの Build > Pipeline editor を開く
  3. 上部の 「Validate」タブ を選択
  4. 「Pipeline run source」 ドロップダウンから、シミュレートしたいブランチを選択
  5. 「Validate pipeline」 ボタンをクリック

それだけです。シンプルですが、これだけで検証の幅がぐっと広がります。

ポイント: シミュレーションは「Edit タブ」に表示されている設定内容をそのまま使って実行されます。Validate タブ自体では設定の編集はできないため、まず Edit タブで .gitlab-ci.yml を編集してから Validate タブで確認する、という流れになります。

なお、YAMLスニペット単体を手軽に検証したい場合は CI Lint ツールが別途あります。Validate タブは「パイプラインエディターと連携した本番に近いシミュレーション」、CI Lint は「スニペット単体の文法チェック」と使い分けましょう。


どんな場面で役立つか

1. rules のブランチ条件を確認したい

deploy-production:
  script:
    - ./deploy.sh
  rules:
    - if: $CI_COMMIT_BRANCH == "main"
      when: on_success
    - when: never

このようなジョブが main ブランチでのみ動くかどうか、以前はコミットして確認するしかありませんでした。
今後は mainfeature/xxx をそれぞれ選んでシミュレーションすれば、動作の差異をすぐに確認できます。

2. needs によるジョブ依存関係を検証したい

build:
  stage: build
  script:
    - ./build.sh

test:
  stage: test
  needs: [build]
  script:
    - ./test.sh
  rules:
    - if: $CI_COMMIT_BRANCH =~ /^feature/

needs で依存関係を組んでいる場合、ブランチによってジョブの実行有無が変わると依存関係が崩れることがあります。ブランチを切り替えてシミュレーションすれば、こうした問題を事前に発見できます。

3. リリースブランチのパイプライン構成を安全に検証

リリース作業中は特にパイプラインの失敗を避けたいものです。
release/ ブランチ向けに組んだ設定を、本番コミット前に Validate タブで確認しておけば安心です。


パイプラインエディターの他の便利機能も活用しよう

今回フォーカスした「Validate タブ」以外にも、パイプラインエディターには便利な機能が揃っています。

Visualize タブ:パイプラインを視覚化

.gitlab-ci.yml のステージとジョブの依存関係を図で確認できます。
needs キーワードを使っている場合、ジョブ間のつながりが線で表示されるので、複雑な依存関係も一目瞭然です。

Full configuration タブ:include を展開して全体像を確認

include キーワードで外部ファイルを取り込んでいる場合、展開した後の完全な設定を1つのファイルとして確認できます。
extends や YAML アンカーも展開されて表示されます。

リアルタイム構文チェック

エディターで .gitlab-ci.yml を編集しながら、構文エラーをリアルタイムで検出してくれます。
コミットする前にミスに気づけるのは地味にありがたいです。


まとめ

GitLab 18.4 で追加された「異なるブランチに対するパイプラインシミュレーション」は、シンプルながら実務で確実に役立つ改善です。

  • Free プランでも使える
  • コミット不要で任意ブランチの動作を確認できる
  • rulesneeds の検証がぐっと楽になる

パイプラインの設定ミスは、CI/CD の運用コストや開発スピードに直結します。
この機能をうまく使って、より安心してパイプラインをメンテナンスしていきましょう。

GitLab にはまだまだ便利な機能がたくさんあります。ぜひパイプラインエディターを入口に、GitLab をもっと使いこなしてみてください!


参考リンク

0
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
0
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?