正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

パイプラインエディタ

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

パイプラインエディタは、リポジトリのルートにある.gitlab-ci.ymlファイルでGitLab CI/CDの設定を編集するための主要な場所です。エディタにアクセスするには、ビルド > パイプラインエディタに移動します。

パイプラインエディタページでは、次のことができます:

CI/CD検証構文

パイプラインエディタを使用すると、パイプラインの設定構文がGitLab CI/CDパイプラインスキーマに対して継続的に検証されます。CI/CD YAMLの構文と、いくつかの基本的な論理検証がチェックされます。

この検証の結果は、エディタページの上部に表示されます。検証に失敗した場合、このセクションに問題を修正するためのヒントが表示されます。

CI/CD設定を検証する

コミットする前にGitLab CI/CD設定の有効性をテストするには、パイプラインエディタ検証ツールを使用します。このツールは、Gitプッシュイベントによるパイプラインの作成をシミュレートし、正しくないrulesneedsジョブの依存関係などのロジックのトラブルシューティングに役立ちます:

  1. 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。新しいナビゲーションをオンにしている場合、このフィールドは上部のバーにあります。
  2. ビルド > パイプラインエディタを選択します。
  3. 検証タブを選択します。
  4. オプション。パイプラインを実行するソースドロップダウンリストを使用して、シミュレートされたプッシュイベントに使用する別のブランチを選択します。
  5. パイプラインの検証を選択します。

シミュレートされたパイプラインは、編集タブの既存のパイプライン設定を使用します。

編集タブにCI/CD YAMLスニペットを追加せずに検証するには、代わりにCI Lint toolを使用します。

インクルードされたCI/CD設定を表示する

パイプラインエディタでは、includeキーワードで追加された設定を確認できます。右上隅で、ファイルツリー( file-tree )を選択して、インクルードされたすべての設定ファイルのリストを表示します。選択したファイルは新しいタブで開き、確認できます。

CI設定を視覚化する

.gitlab-ci.yml設定の視覚化を表示するには、プロジェクトで、ビルド > パイプラインエディタに移動し、視覚化タブを選択します。この視覚化には、すべてのステージとジョブが表示されます。needs関係は、ジョブを結ぶ線として表示され、実行の階層を示します。

ジョブの上にカーソルを合わせると、そのジョブのneeds関係が強調表示されます:

ホバー時のCI/CD設定の視覚化

設定にneeds関係がない場合、各ジョブは前のステージが正常に完了したことのみに依存するため、線は描画されません。

完全な設定を表示する

完全に展開されたCI/CD設定を1つの結合ファイルとして表示するには、パイプラインエディタの完全な設定タブに移動します。このタブには、次のように展開された設定が表示されます:

!referenceタグを使用すると、展開ビューで、ネストされた設定の行の先頭に複数のハイフン(-)が表示されることがあります。これは想定された動作であり、余分なハイフンがあってもジョブの実行には影響しません。たとえば、この設定と完全に展開した後の設定はどちらも有効です:

  • .gitlab-ci.ymlファイル:

    .python-req:
      script:
        - pip install pyflakes
    
    .rule-01:
      rules:
        - if: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME =~ /^feature/
          when: manual
          allow_failure: true
        - if: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME
    
    .rule-02:
      rules:
        - if: $CI_COMMIT_BRANCH == "main"
          when: manual
          allow_failure: true
    
    lint-python:
      image: python:latest
      script:
        - !reference [.python-req, script]
        - pyflakes python/
      rules:
        - !reference [.rule-01, rules]
        - !reference [.rule-02, rules]
  • 完全な設定タブでの展開後の設定:

    ".python-req":
      script:
      - pip install pyflakes
    ".rule-01":
      rules:
      - if: "$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME =~ /^feature/"
        when: manual
        allow_failure: true
      - if: "$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME"
    ".rule-02":
      rules:
      - if: $CI_COMMIT_BRANCH == "main"
        when: manual
        allow_failure: true
    lint-python:
      image: python:latest
      script:
      - - pip install pyflakes                                     # <- The extra hyphens do not affect the job's execution.
      - pyflakes python/
      rules:
      - - if: "$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME =~ /^feature/" # <- The extra hyphens do not affect the job's execution.
          when: manual
          allow_failure: true
        - if: "$CI_MERGE_REQUEST_SOURCE_BRANCH_NAME"               # <- No extra hyphen but aligned with previous rule
      - - if: $CI_COMMIT_BRANCH == "main"                          # <- The extra hyphens do not affect the job's execution.
          when: manual
          allow_failure: true

CI設定への変更をコミットする

エディタの各タブの下部にコミットフォームが表示されるため、いつでも変更をコミットできます。

変更に満足したら、記述的なコミットメッセージを追加してブランチを入力します。ブランチフィールドには、プロジェクトのデフォルトブランチがデフォルトで設定されています。

新しいブランチ名を入力すると、Start a new merge request with these changes(これらの変更で新しいマージリクエストを開始)チェックボックスが表示されます。これをオンにすると、変更をコミットした後に新しいマージリクエストを開始できます。

新しいブランチが指定されているコミットフォーム

エディタのアクセシビリティオプション

パイプラインエディタは、Monaco Editorをベースにしており、アクセシビリティ機能がいくつか用意されています:

機能WindowsまたはLinuxでのショートカットmacOSでのショートカット詳細
キーボードナビゲーションコマンドリストF1F1エディタをマウスなしでも使いやすくするコマンドのリストです。
タブトラップControl + mControl + Shift + mタブ文字を挿入するのではなく、ページ上の次のフォーカス可能な要素に移動するタブトラップを有効にします。

トラブルシューティング

Unable to validate CI/CD configuration.メッセージ

このメッセージは、パイプラインエディタで構文を検証する際に問題が発生した場合に表示されます。これは、GitLabが構文を検証するサービスと通信できない場合に発生することがあります。

次のセクションの情報が正しく表示されない場合があります:

  • 編集タブの構文ステータス(有効または無効)。
  • 視覚化タブ。
  • Lintタブ。
  • 完全な設定タブ。

CI/CD設定を引き続き操作し、問題なく変更をコミットできます。サービスが再び利用可能になると、構文の検証がすぐに表示されます。