2026年6月16日

2026年6月16日

JenkinsのBlue Oceanでパイプラインを可視化する方法と、機能追加が止まった後の代替(Pipeline Graph View)

Jenkins の Blue Ocean は、パイプラインのステージや並列処理を図で表示し、失敗したステップのログにすぐたどり着ける UI です。ただし Blue Ocean は新機能の追加が終了しており、Jenkins のプロジェクト自身が代替のプラグインを案内しています。この記事では、Blue Ocean で見やすく可視化するための Jenkinsfile の書き方と画面の読み方を説明したうえで、これから導入する場合に Pipeline Graph View などの代替を選ぶべきかどうかの判断材料をまとめます。

例として、WordPress のテーマやプラグインのリポジトリで、コーディング規約のチェック、ユニットテスト、配布用 zip の作成を行うパイプラインを使います。

Blue Ocean の現状を先に確認する

Blue Ocean のプラグインのページには、今後は機能追加を行わず、重大なセキュリティ問題や不具合への対応に限る、という趣旨の案内が掲載されています(2026年10月現在)。同じ案内の中で、パイプラインの可視化の代替として「Pipeline: Stage View」と「Pipeline Graph View」が挙げられています。

このため、次のように考えるのが現実的です。

  • すでに Blue Ocean を使っていて困っていない: 当面はそのまま使えます。ただし Jenkins 本体や他のプラグインの更新に追従しない部分が出る可能性があるため、移行先を試しておくと安心です。
  • これから可視化の仕組みを入れる: まず Pipeline Graph View を試し、Blue Ocean 固有の機能(後述のビジュアルエディターなど)が必要な場合に限って Blue Ocean を検討します。

どちらを選んでも、可視化の見やすさは Jenkinsfile の書き方で大きく変わります。以下の内容は両方に共通します。

Blue Ocean を導入して開く

Jenkins の管理画面のプラグイン管理から「Blue Ocean」を検索してインストールします。Blue Ocean は複数のプラグインをまとめた集合体なので、依存するプラグインが多数一緒に入ります。本番の Jenkins に入れる前に、検証用の Jenkins で問題が出ないか確認し、JENKINS_HOME のバックアップを取っておいてください。

インストール後は、Jenkins の URL の末尾に /blue を付けるか、サイドメニューに追加される Blue Ocean へのリンクから開きます。メニューの表記はバージョンによって異なります。

権限は通常の Jenkins と同じものが使われます。Blue Ocean を入れたことで閲覧できる範囲が広がるわけではありませんが、匿名ユーザーに読み取り権限を与えている場合は、ビルドログに秘密情報が出ていないか改めて確認してください。

可視化しやすい Jenkinsfile を書く

Blue Ocean や Pipeline Graph View は、Jenkinsfile の stage を単位として図を描きます。ステージに分けずに一つの長いスクリプトにすると、図は一本の棒になり、どこで失敗したのかが分かりません。宣言的パイプライン(Declarative Pipeline)で、意味のある単位にステージを分けるのが基本です。

// Jenkinsfile
pipeline {
  agent any
  options {
    timeout(time: 20, unit: 'MINUTES')
    buildDiscarder(logRotator(numToKeepStr: '20'))
  }
  stages {
    stage('Install') {
      steps {
        sh 'composer install --no-interaction --prefer-dist'
      }
    }
    stage('Checks') {
      parallel {
        stage('PHPCS') {
          steps {
            sh 'mkdir -p build && vendor/bin/phpcs --report-full --report-junit=build/phpcs-junit.xml'
          }
        }
        stage('PHPUnit') {
          steps {
            sh 'mkdir -p build && vendor/bin/phpunit --log-junit build/phpunit-junit.xml'
          }
        }
      }
    }
    stage('Package') {
      when { branch 'main' }
      steps {
        sh 'mkdir -p dist && git archive --format=zip --prefix=my-theme/ -o dist/my-theme.zip HEAD'
        archiveArtifacts artifacts: 'dist/*.zip', fingerprint: true
      }
    }
  }
  post {
    always {
      junit allowEmptyResults: true, testResults: 'build/*-junit.xml'
    }
  }
}

このパイプラインのポイントは次のとおりです。

  • **parallel で並列のステージを分ける**: PHPCS と PHPUnit は互いに依存しないため並列にしています。Blue Ocean では横に枝分かれした図として表示され、どちらが失敗したかが一目で分かります。
  • 結果を JUnit 形式で出す: junit ステップでテスト結果を取り込むと、Blue Ocean の Tests タブなどで失敗したテストの一覧を確認できます。PHPCS の違反も JUnit 形式で出力しておくと、ログを読まずに件数を把握できます(junit ステップには JUnit プラグインが必要です)。
  • **post { always { ... } } で取り込む**: テストが失敗してもレポートを取り込みたいので、always に置いています。
  • **when { branch 'main' }**: マルチブランチパイプラインの場合、main 以外のブランチでは Package ステージがスキップされ、図の上でもスキップされたことが分かります。

composer や php は Jenkins のエージェントに入っている前提です。エージェントに入れたくない場合は、Docker のエージェントで PHP のイメージを使う方法もあります。

画面の読み方

Blue Ocean でパイプラインの実行を開くと、上部にステージの図、下部に選択したステージのステップとログが表示されます。

  • 色と記号: 成功、失敗、不安定(テストの失敗など)、スキップ、実行中がそれぞれ別の色や記号で示されます。「不安定」は junit が失敗したテストを検出した場合などに付く状態で、ビルドそのものの失敗とは区別されます。
  • 失敗したステップ: 失敗したステージを選ぶと、失敗したステップのログが展開された状態で表示されます。長いログ全体をスクロールして探す必要がないのが、Blue Ocean の大きな利点です。
  • ブランチとプルリクエスト: マルチブランチパイプラインでは、ブランチごと、プルリクエストごとの最新の結果が一覧で表示されます。
  • 成果物: archiveArtifacts で保存した zip などはアーティファクトの一覧からダウンロードできます。

タブの名前や配置はバージョンによって異なることがあるため、見当たらない場合は実行画面の上部のメニューを確認してください。

ビジュアルエディターを使う場合の注意

Blue Ocean には、ステージやステップを画面上で組み立てて Jenkinsfile を生成するエディターがあります。宣言的パイプラインに対応しており、編集結果はリポジトリへのコミットとして保存されます。

便利な反面、次の点に注意が必要です。

  • リポジトリへの書き込み権限を持つ認証情報(アクセストークンなど)を Jenkins に登録する必要があります。権限は対象リポジトリに限定したものを使ってください。
  • 複雑な Jenkinsfile(共有ライブラリや条件分岐の多いもの)は、エディターで正しく扱えないことがあります。
  • 機能追加が止まっているため、新しい構文やステップには対応しない可能性があります。

チームで運用する場合は、Jenkinsfile をエディターで編集するより、通常のプルリクエストでレビューしながら変更するほうが安全です。

代替の Pipeline Graph View を試す

Pipeline Graph View は、Jenkins の通常の画面の中にステージの図とステップごとのログを表示するプラグインです。Blue Ocean のような別の UI に切り替えるのではなく、従来の画面に統合される点が異なります。導入はプラグイン管理から「Pipeline Graph View」を検索してインストールするだけで、Jenkinsfile の変更は不要です。

移行の手順としては、次の順に進めると影響を抑えられます。

  1. 検証用の Jenkins に Pipeline Graph View を入れ、既存のパイプラインがどのように表示されるか確認する
  2. 並列ステージ、テスト結果、成果物の確認など、普段 Blue Ocean で使っている操作が代替できるかを洗い出す
  3. 本番に導入し、しばらく両方を併用する
  4. 使われなくなった段階で Blue Ocean を外す。Blue Ocean と一緒に入った依存プラグインのうち、他に使っていないものも整理する

古くからある Pipeline: Stage View は、ステージを表形式で表示するプラグインです。手軽ですが並列ステージの表現は限定的なので、並列を多用するパイプラインでは Pipeline Graph View のほうが見やすいことが多いです。プラグインの機能は更新で変わるため、それぞれのプラグインのページで最新の説明を確認してください。

まとめ

  • Blue Ocean は機能追加が終了しており、Jenkins のプロジェクトは Pipeline Graph View などの代替を案内している(2026年10月現在)
  • 可視化の見やすさは Jenkinsfile 次第。意味のある単位で stage を分け、独立した処理は parallel にする
  • テスト結果やコード規約の違反は JUnit 形式で取り込むと、画面上で失敗の内容を確認しやすい
  • ビジュアルエディターはリポジトリへの書き込み権限が必要。チーム運用ではプルリクエストでの変更が安全
  • 新規導入なら Pipeline Graph View から試し、移行は検証環境での確認と併用期間を経て進める

お気軽にご相談ください

お見積りへ お問い合わせへ
▲