Jenkinsパイプライン内のネストされたステージと並列ステージ

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:3分
  • スクリプト化された Jenkins パイプラインでネストされたステージと並列ステージを使用して、パイプラインの実行を高速化します。変更要求は、親ステージだけでなく、ネストされた並列ステージに対しても作成されます。

    Jenkinsパイプラインでのネストされたステージと並列ステージのサポート

    スクリプト化された Jenkins パイプラインでネストされたステージと並列ステージを使用して、並列で実行できるタスクを自動化および高速化できます。たとえば、さまざまなオペレーティングシステムやブラウザーに対するさまざまな品質チェックなど、さまざまなテストケースのネストされた並列ステージを持つスクリプト化された Jenkins パイプラインがあるとします。

    ServiceNow DevOps は、 Jenkins パイプラインでの並列ステージとネストされたステージの処理をサポートし、 DevOps パイプライン UI にパイプラインを表示します。実際には、 ServiceNow DevOps パイプライン UI は、 Jenkins パイプライン UI をリアルタイムでレンダリングまたはレプリケートします。関連するパイプラインの [パイプライン実行 ] ビューから、[ パイプライン UI ] 関連リンクをクリックして、 Jenkinsに表示されるパイプラインのリアルタイムステータスを表示します。ビルドパイプライン、テスト結果、ソフトウェア品質サマリー結果、および変更要求の詳細から取得された関連するアーティファクトの詳細がパイプライン UI に表示されます。
    重要:
    並列ステージとネストされたステージのサポートは、 Jenkins のスクリプト化されたパイプラインに制限されています。フリースタイル パイプラインは、並列ステージと入れ子になったステージが Jenkins のフリースタイル パイプラインの一部である場合でも、DevOps パイプライン UI に順次または直列の方法で引き続き表示されます。

    ネストされたステージおよび並列ステージの変更要求

    変更要求は、(変更要求の前に) すべてのアップストリームイベントが受信されると、ネストされたすべての並列ステージに対して作成されます。以前のリリースでは、 Jenkins パイプライン内のネストされたステージまたは並列ステージは識別されず、 ServiceNow DevOpsで処理されませんでした。親ステージのみが特定され、線形または順次的に処理されました。ネストされたステージおよび並列ステージの一部として変更要求が存在する場合、それらの変更要求は無視され、単一の変更要求が親ステージの一部として処理されました。アップグレード後に新しいパイプラインを実行すると、ネストされたステージに対して新しいステップとステップ実行が作成されます。

    ネストされたステージと並列ステージは以前は処理されておらず、承認グループは親ステージにのみマップされていました。ネストされたステージと並列ステージは処理中に識別されるため、関連する承認グループが適切なネストされたステージまたは並列ステージにマップされていることを確認する必要があります。パイプラインの後続のステップが変更要求の承認に依存している場合、パイプラインの実行は一時停止され 変更要求が承認されると再開されます。

    アップグレードに関する考慮事項

    ネストされたパイプラインと並列パイプラインを含む Jenkins をオーケストレーションツールとして既に使用している場合は、アップグレード時に次の点を考慮してください。
    • ピーク時間外にアップグレードしてください。
    • ServiceNow DevOpsによって現在進行中のパイプライン実行がないことを確認します。パイプライン実行が処理されている場合、進行中のパイプライン実行に対してステップ実行が期待どおりに作成されない可能性があります。パイプラインを再実行して、適切なステップ実行を作成します。