GitLab CI設定ジェネレーター

ステージ、ジョブ、サービス、変数、ルールを定義して、.gitlab-ci.yml設定をビジュアルに構築。コピーまたはダウンロードしてすぐに使えるパイプラインファイルを生成します。

このツールについて

GitLab CI設定ジェネレーターは、インタラクティブなビジュアルフォームを通じて .gitlab-ci.ymlパイプライン設定ファイルを構築する無料のブラウザベースツールです。 YAMLをゼロから書いてインデントエラーを心配する代わりに、ステージの定義、 ジョブの追加、キャッシュとアーティファクトの設定、ルールの設定を行い、 ツールが有効で適切にフォーマットされたYAML出力を生成します。

ビルダーは最もよく使われるGitLab CI/CD機能をサポートしています: パイプラインステージ、ジョブごとのDockerイメージ、 before_script / script / after_scriptブロック、有効期限付きアーティファクトパス、 キーとポリシー設定付きキャッシュ、DAGパイプライン用のジョブneeds、 ランナータグ、if式による条件付きルール、Docker-in-Dockerおよび データベースコンテナ用のservices定義、グローバルおよびジョブレベルの変数。

組み込みテンプレートにより、一般的なパターンですぐに開始できます: Node.js CI、Python CI、Docker Build & Push、Go CI。

Dockerコンテナを使用する場合は、docker runコマンド用の同様のビジュアル体験を提供する Docker Runコマンドビルダーをお試しください。 既存のYAMLファイルを検証するには、 YAMLフォーマッター&バリデーターをご利用ください。

すべての処理はブラウザ内で完全に実行されます。パイプライン設定、変数、シークレット、 その他のデータがサーバーに送信されることはありません。 本番CI/CD設定でも安全に使用できます。

使い方

  1. 事前設定されたパイプラインで開始するには、オプションでテンプレートを選択します(Node.js、Python、Docker、Go、または空白)。
  2. 実行順にステージ名を追加して、パイプラインのステージを定義します。不要なステージはXボタンで削除します。
  3. すべてのジョブが同じDockerイメージを共有する場合はデフォルトイメージを設定し、そうでない場合はジョブごとにイメージを設定します。
  4. すべてのジョブで利用可能なグローバル変数を追加します(例:NODE_ENVDOCKER_HOST)。
  5. ジョブを追加をクリックしてジョブを作成します。各ジョブの名前、ステージ、イメージ、スクリプト、アーティファクト、キャッシュ、サービス、ルール、ジョブ固有の変数を入力します。
  6. 右パネルの生成された.gitlab-ci.yml出力を確認します。変更に応じてYAMLがリアルタイムで更新されます。
  7. CopyをクリックするかCtrl+Shift+Cを押してYAMLをクリップボードにコピーするか、Downloadをクリックして.gitlab-ci.ymlファイルとして保存します。

GitLab CI 設定例

すべてのGitLab CI設定例を見る →

よくある質問

どのGitLab CI機能に対応していますか?

ジェネレーターは、ステージ、image/script/before_script/after_script付きジョブ、アーティファクト(paths + expire_in)、キャッシュ(key、paths、policy)、サービス(name + alias)、ジョブレベルおよびグローバル変数、ルール(if/when/allow_failure)、needs(DAG依存関係)、タグ、allow_failureをサポートしています。

GitLab.comとセルフホストGitLabの両方で使えますか?

はい。生成される.gitlab-ci.ymlは、GitLab.com(SaaS)と、設定するCI/CD機能をサポートする任意のバージョンのセルフホストGitLabインスタンスの両方で動作する標準GitLab CI YAML構文に従います。

Docker-in-Docker(DinD)はどう設定しますか?

ジョブのサービスセクションで'docker:24-dind'をサービスとして追加し、エイリアスを'docker'に設定します。グローバル変数でDOCKER_HOSTを'tcp://docker:2376'、DOCKER_TLS_CERTDIRを'/certs'に設定します。Docker Build & Pushテンプレートでこれが事前設定されています。

'needs'とは何ですか?ステージとの違いは?

ステージはデフォルトで順次実行されます。'needs'キーワードはDAG(有向非巡回グラフ)パイプラインを作成し、特定の依存関係が完了した時点でジョブを開始できます。これによりパイプラインの実行時間を大幅に短縮できます。

ルールはどのように機能しますか?

ルールはジョブがパイプラインに含まれるかどうかを決定します。各ルールには'if'条件と'when'値があります。ルールは順番に評価され、最初に一致するルールがジョブの動作を決定します。一致するルールがない場合、ジョブは含まれません。

データは安全ですか?

はい。すべてのYAML生成はJavaScriptを使用してブラウザ内で完全に実行されます。パイプライン設定、Dockerレジストリ URL、変数値、その他のデータがサーバーに送信されることはありません。

生成されたYAMLを手動で編集できますか?

出力パネルでは生成されたYAMLは読み取り専用ですが、コピーまたはダウンロードして任意のテキストエディタで編集できます。YAMLの検証とフォーマットには、このサイトのYAMLフォーマッター&バリデーターツールをご利用ください。

関連ツール