パイプラインの作成と設定
ALM Octaneのパイプラインとは、CIサーバーのジョブとステップのフローを表します。パイプラインを使用することにより、パイプラインの実行とそのステータスを階層構造で明確に分析できます。この情報は、品質と進行状況の監視や、発生した問題の迅速な特定と修正に役立ちます。
パイプラインを作成する前に、ALM Octaneのパイプラインの詳細について知りたい場合は、CIパイプラインを参照してください。
注: Jenkinsを使用している場合: 同様に、Jenkins CIサーバーのアプリケーション自動化ツールプラグインを使用してパイプラインを作成および設定できます。詳細については、アプリケーション自動化ツールwikiページのパイプラインの作成と設定に関するセクションを参照してください。
ALM Octaneにパイプラインを追加します
CIサーバーに接続すると、ALM Octaneでパイプラインを作成できます。パイプラインのルートジョブを指定すると、そのルートジョブから始まるジョブフローを表すパイプラインがALM Octaneによって作成されます。
パイプライン実行の結果は、ルートジョブの結果によって決まります。したがって、フロー内の他のジョブの結果をパイプライン実行結果に反映させるには、CIサーバー上でそのジョブの結果をルートジョブまで集約するようにしてください。
ALM Octaneでパイプラインを追加するには:
-
前提条件:
-
ALM Octane CIプラグインがCIサーバーにインストールされていることを確認してください。
詳細については、ALM Octane CIプラグインのCIサーバーへのインストールと設定を参照してください。
-
設定領域に、CIサーバーが1つ以上存在することを確認してください。詳細については、ALM OctaneにCIサーバーを追加するを参照してください。
-
-
ALM Octaneで、パイプラインモジュールに移動し、[パイプライン] タブを開きます。
-
[+] をクリックしてパイプラインを追加します。
-
CIサーバーを選択します。リストには、現在のワークスペースのCIサーバー設定ページで作成されたサーバーが表示されます。
-
ALM Octaneがパイプラインを開始するルートジョブを選択します。リストには、選択したCIサーバーで定義されているジョブが表示されます。サーバーとの通信が失敗した場合、リストは利用できません。
-
パイプラインの名前を入力し、オプションで、パイプラインをプログラムやリリースに割り当てます。リリースを選択すると、マイルストーンを選択することもできます。
-
プログラム、リリース、およびマイルストーンは、このパイプラインから収集されたすべてのテスト実行に自動的に割り当てられます。プログラム、リリース、またはマイルストーンを変更すると、パイプラインで実行されているすべてのテストを表す新しい自動実行のセットが作成されます。これにより、プログラム、リリース、マイルストーンのコンテキストでテスト結果を表示し、ダッシュボードウィジェットを使用してそれらの品質を経時的に追跡できます。
-
プログラムの詳細については、パイプラインでのプログラムの操作を参照してください。
-
リリースとマイルストーンを選択する前に、セクションベストプラクティス: パイプラインをリリースおよびマイルストーンにリンクするを読むことをお勧めします。
ヒント: [標準設定リリース] にパイプラインを割り当てると、パイプラインは標準設定リリースとして現在設定されているリリースに常に関連付けられます。
-
-
パイプラインのタイプを指定します。リストからタイプを1つまたは複数選択します。選択できるタイプには、ビルド、テスト、統合、デプロイ、セキュリティがあります。
- ほとんどのタイプは、オプションです。この定義を行うことにより、このパイプラインで処理するライフサイクルステージが覚えやすくなります。
- パイプライン実行で、FortifyまたはSonarQubeによって検出されたセキュリティ脆弱性を表示するには、セキュリティを選択する必要があります。
-
通知を設定します (オプション)。ビルドまたは自動テスト実行が失敗した場合、関連するユーザーに電子メールを送信する設定をALM Octaneで行います。
- 実行の失敗時にコミット実施者に通知する: 失敗したパイプライン実行に含まれているコミットを行ったユーザーに通知します。
- テストの失敗時にテスト所有者に通知する: 失敗した自動テストの所有者であるユーザーに通知します。
このオプションは、後で、パイプラインの [詳細] タブで編集できます。
詳細については、パイプライン実行に関連付けられたコミットの追跡を参照してください。
ALM OctaneがCIサーバーから情報を取得し、パイプラインを作成します。パイプラインの名前またはリリースの横にある鉛筆アイコンをクリックして、名前またはリリースを編集します。
パイプライン実行の後、実行結果の概要を確認できます。詳細については、パイプラインの実行を参照してください。
ベストプラクティス: パイプラインをリリースとマイルストーンにリンクする
パイプラインを作成するときに、パイプラインをリリースとマイルストーンにリンクするオプションがあります。パイプラインをリリース/マイルストーンにリンクするか、リリース/マイルストーンの値を変更すると、パイプラインのコンテキストで報告される今後のすべての実行が、選択したリリースに割り当てられます。
以下は、さまざまなシナリオの推奨事項です。
-
継続的インテグレーションパイプラインシナリオ:
-
トランク/マスターベースの開発 (ブランチなし)。この場合、リリースとマイルストーンにリンクする理由はありません。
-
リリース/マイルストーンブランチ。リリースごとに新しいブランチを作成する場合は、パイプラインをリリースにリンクすることをお勧めします。さらに、マイルストーンの品質を追跡する必要がある場合は、パイプラインもマイルストーンにリンクします。
-
-
フィーチャー/ストーリーブランチの場合、これらのブランチのCIは通常、ALM Octaneに注入されず、リリース/マイルストーンがないはずです。
-
自動リグレッションサイクルシナリオでは、リリースとマイルストーンがリリースとサイクルを表す場合、結果を簡単に追跡できるように、パイプラインをリリースとマイルストーンの両方にリンクすることをお勧めします。
リリースまたはマイルストーンを変更した結果
パイプラインの [リリース] フィールドまたは [マイルストーン] フィールドを変更するときは、次の重要な結果に注意する必要があります。
-
パイプラインで実行されているすべてのテストを表すために、自動実行の新しいセットが作成されます。
-
失敗分析フィーチャーは、1回の自動実行の履歴に基づいています。その結果、新しい自動実行が作成されると、新しい実行に関連する履歴が作成されるまで、失敗分析のインサイトの精度が低下します。
パイプラインを作成するときにパラメーターセットを使用する
注: 以下は、Jenkins、TeamCity、およびBambooでサポートされています。
CIサーバージョブがパラメーター化されている場合は、パイプラインジョブの実行時に使用できるさまざまなパラメーター値のセットを定義できます。各パイプラインには、複数のパラメーター値のセットを含めることができます。
たとえば、あるデプロイ済み環境でジョブを実行する場合と、別の環境でジョブを実行する場合があるとします。標準設定のURLとポートを使用して1つのデータセット (セット1) を作成し、別のURLとポートを使用して別のデータセット (セット2) を作成できます。その後、さまざまな設定を使用してパイプラインを数回実行できます。
注: これには、パラメーターの管理権限が必要です。
パイプラインでパラメーターを設定するには:
-
パイプラインを作成するときに、そのジョブがパラメーター化されている場合、CIサーバーで設定されたパラメーターとその標準設定値を示すテーブルが表示されます。
-
カラム見出しにカラムを追加して、パラメーター値の追加セットを定義します。
-
必要に応じて、各カラム見出しの名前を変更できます。
-
必要に応じて、パラメーターの各セットのパラメーター値を編集できます。
値は4000文字に制限されており、各セット名は一意である必要があります。
-
カラムのクローンを作成する、カラムを削除する、または標準設定値にリセットするには、カラムの右上隅にある関連するメニュー項目を選択します。
-
[保存] をクリックします。
パイプラインを実行すると、実行で使用するパラメーター値を選択できるダイアログが表示されます。詳細については、ALM Octaneからパイプライン実行をトリガーする (オプション)を参照してください。
-
CIサーバーでジョブのパラメーターを変更する場合は、パイプラインの [詳細] ペインで [CIと同期] をクリックして、CIサーバーで定義されている最新のパラメーターを取得します。
注: ALM Octaneは現在、ブール値と文字列のパラメーターのみをサポートしています。無効なタイプは表示されません。
パイプライン表示のカスタマイズ
パイプラインが多数定義されている場合は、一度に表示する情報を絞り込むと便利です。
この操作には、パイプラインモジュールで [パイプライン] タブを開き、パイプラインのリストの上にあるツールバーを使用します。
目的 | 手順 |
---|---|
パイプラインのリストをフィルターし、必要なパイプラインのみを表示する |
[パイプラインの選択] ボタンにある下向き矢印をクリックし、表示するパイプラインを選択します。 |
リストの各パイプラインで表示される情報量を減らす | をクリックすると、リスト内で表示するパイプライン情報の量を増減できます。 |
選択した内容は保持され、それ以降のセッションにも適用されます。
パイプラインのグラフィック表示の操作
パイプラインを作成すると、パイプラインのルートジョブを起点に、パイプラインステップがグラフィック表示されます。
Bamboo、Jenkins、GoCDを使って作業する場合、ステップの実行順番や他のステップの一部として実行されるステップなどを確認できます。
[パイプライン] タブで、パイプラインをクリックします。水平の省略記号をクリックし、ドロップダウンで表示をクリックします。パイプラインPLページが開きます。トポロジタブを選択します。
Jenkinsの例
注: パイプラインは、最初にALM OctaneがCIサーバー上で検出した構造に基づいて作成されます。パイプラインをCIサーバー上で実行する際、実行中に検出されたステップがALM Octaneにより追加されます。パイプラインを次に開くときに、このステップが表示されます。
次に、[トポロジ] タブのパイプライン表示で使用されるグラフィックの説明と使用方法について説明します。
視覚的手がかり | 説明 |
---|---|
パイプラインのIDと名前。 |
|
クリックすると、パイプラインが [フラットビュー] または [ツリービュー] で表示されます。 ツリービュー: パイプラインの階層とフローを表示します。 フラットビュー: 階層やフローを表示せず、パイプラインのステップを並べて表示します。このビューは、複雑なパイプラインの全体像を把握する際に便利です。 このビューでは、パイプラインステップをフィルターすることも可能です。詳細については、フィルターパイプラインステップを参照してください。 |
|
パイプラインのステップ。 ステップ名をクリックすると、CIサーバーでジョブを開くことができます。 |
|
階層表示のパイプラインの場合、これをクリックすると、親ステップの一部として実行されるステップの展開や折りたたみが可能です (内部ジョブ)。 | |
点線に対して同じ側にあるステップは、並列実行されます (並列ジョブ)。 点線の右側にあるステップは、左側にあるステップの後に実行されます (シーケンシャルジョブ)。 |
|
パイプラインの一部として実行されるステップ。 階層表示のパイプラインでは、この矢印の後のステップは、呼び出し元のステップとその子が終了した後で実行されます (シーケンシャルジョブ)。 |
|
クリックして、ステップタイプにコンパイル、パッケージ、デプロイ、セキュリティ、またはテストのラベルを付けます。 |
|
クリックすると、ステップ情報を設定できます。これはパイプラインのステップにタグとして追加されます。タグは後で、テスト実行結果のフィルター処理などに使用できます。 次の情報を指定できます。
詳細については、ステップの設定: テストおよびテスト実行情報の定義 を参照してください。 |
|
クリックして、ALM OctaneはCIサーバーで定義されている現在のパイプラインステップに基づいて、トポロジを再描画します。 この機能は、CIサーバー上でパイプラインフローを数回変更した場合や、ALM Octaneのパイプライン構造に、現在のフローには存在しないステップが含まれている場合などに役立ちます。 再描画の際に、ALM Octaneはパイプラインステップ設定を維持しようとします。ただし、ステップを大幅に変更した場合には、設定が失われる可能性があります。 |
パイプラインのステップのラベル付けと設定
ラベル付けと設定により、ALM Octaneのパイプラインをさらに便利に使用できます。これにより、ステップの目的が理解しやすくなり、テスト実行結果に関するコンテキスト情報を追加することができます。
-
[パイプライン] タブで、パイプラインをクリックします。横の省略記号をクリックし、ドロップダウンで表示を選択します。パイプラインPLページが開きます。[トポロジ] タブを選択します。
-
ステップの右上のラベルをクリックし、ステップのジョブタイプを選択します。ラベルは、パイプラインのフローを理解する際に役立ちます。フラットパイプラインビューでは、パイプラインをフィルターすることで、特定のラベルを持つステップのみを表示することもできます。
ジョブタイプとしては、コンパイル、パッケージ、デプロイ、テスト、およびセキュリティがあります。
パイプラインを実行すると、得られるビルドにラベルが追加されます。[ビルド] タブでパイプラインの実行結果を分析する場合、ラベルはビルドのコンテキストを理解するのに役立ちます。
パイプラインには、ALM Octaneで結果を追跡する必要のないステップやテストが含まれていることがあります。このような場合は、ステップを無視したり、品質分析の結果で非表示にすることができます。
パイプラインの [トポロジ] タブで、ステップの右下にある [設定] ボタンをクリックします。次のいずれかのオプションを選択します。
特定のステップとそれに続くステップのステータス、継続時間、テスト結果を無視するようにパイプラインを設定します。
たとえば、パイプラインには、追跡する必要のないポストビルドステップやダウンストリームステップが含まれることがあります。このようなステップを無視すると、無視したステップの実行完了を待たずに、パイプライン実行のステータスと継続時間が更新されます。
特定のステップのビルドで発生する失敗が、パイプライン実行の失敗分析で無視できる場合もあります。これには、たとえば、子ステップの失敗のみが原因で親ステップが失敗した場合などがあります。
パイプラインステップを設定して、ビルドの失敗がパイプラインの [概要] タブと [ビルド] タブに含まれないようにします。この設定は、重要な失敗に集中する上で役立ちます。
特定のステップが原因で発生するビルドの失敗を非表示にするには、次の手順を実行します。
パイプラインの [トポロジ] タブ | パイプライン実行の [ビルド] タブ |
---|---|
|
非表示にするビルドを右クリックし、[このパイプラインステップからのビルドを非表示にする] を選択します。 |
このステップで生成されたビルドは、すべてのパイプライン実行で非表示になります。
ステップのビルドの失敗を再表示するには、次の手順を実行します。
パイプラインの [トポロジ] タブで、
- ステップの右下にある [設定] ボタンをクリックします。
- [ビルドの失敗を分析する際に失敗したビルドを非表示にします] オプションをオフにします。
ALM Octaneで追跡する必要のないテストがステップで実行される場合には、[テスト実行結果を無視] を選択します。このステップでテストを実行すると、結果はALM Octaneに送信されず、これに対応するテストは作成されません。
たとえば、ユニットテストを無視するのにこのオプションを使用することをお勧めします。これにより、パフォーマンス低下の原因となるALM Octane,の不要な負荷を軽減できます。
このステップで以前に収集したテスト実行結果を削除するかどうかを指定します。これ以降、テストの実行結果がすべて削除されると、自動テストも削除されます。
注意: テスト結果の削除は、パイプラインのビルド実行履歴にも反映されます。また、テスト結果を無視するステップでは、失敗分析も利用できなくなります。
パイプラインの [トポロジ] タブでは、パイプラインステップに選択したオプションが反映されます。例:
テストを実行するパイプラインステップに対して、ステップに関する環境情報とテスト情報を追加します。
-
テストフィールドとテスト環境: これにより、パイプラインのステップにタグが追加されます。このパイプラインのステップでテストが実行されると、テスト、テスト実行およびビルドにそのタグが追加されます。その後、ALM Octaneでこれらのタグに基づいてビルドとテスト実行結果にフィルターを適用し、プロダクトおよびリリースの品質分析に役立てることができます。
例: このJenkinsステップQA-Functional-Chromeは、テストとラベル付けされており、次のタグが設定されています。
-
テストフィールド: Framework = TestNG、Test type = End to End、Test level = Integration Testing、Testing tool: Selenium。
-
テスト環境: WinServer2012 (OS)、MSSQL (DB)、QA (AUT Env)、Chrome (ブラウザー)。
-
-
ビルドレポートとテスト実行レポート。ビルドでレポートが作成される場合、ALM Octaneはレポートへのリンクを関連する自動テスト実行に追加できます。このレポートはCIサーバーなどに保存でき、テスト実行の失敗分析で役立ちます。
パイプラインステップで、レポートリンクのURLまたはURLテンプレートを設定します。ALM Octaneは、このパイプラインステップの一部として作成されたテスト実行へのリンクと、このステップの結果であるビルドへのリンクを追加します。
パイプラインステップを設定するには、次の手順を実行します。
-
[パイプライン] タブで、パイプラインをクリックします。横の省略記号をクリックし、ドロップダウンで表示を選択します。パイプラインPLページが開きます。[トポロジ] タブを選択します。
-
パイプラインステップの右下にある [設定] ボタンをクリックします。
-
[テストフィールド] タブで、ステップで実行されるテストのタイプと、実行に使用されるツールおよびフレームワークに関する情報を追加します。
次の定義済みの値の中から選択します。
フィールド 可能な値 フレームワーク リストから選択します。例: JUnit、TestNG、UFT One。 テストタイプ 次のいずれか: 受け入れ、エンドツーエンド、リグレッション、サニティ、セキュリティ、パフォーマンス。
テストツール
リストから選択します。例: マニュアルランナー、Selenium、UFT One、UFT Developer、LoadRunner Cloud、LoadRunner。
テストレベル リストから選択します。例: 統合テスト、システムテスト、ユニットテスト。 [フレームワーク] と [テストツール] のリストに値を追加できます。この操作を行うには、APIかJenkins plugin UIを使用して、パイプラインステップにタグを追加します。
ALM Octaneは、Jenkinsパイプラインで検出されたテスト実行で、次のフィールドを自動設定します。
フィールド テスト結果の取得元 テストツール
UFT One
LoadRunner
LoadRunner Cloud
LoadRunner Enterprise
フレームワーク UFT One テストタイプ LoadRunner Enterprise これらのテストを実行するパイプラインステップに手動でタグを追加してある場合、手動タグによって自動タグがオーバーライドされます。
-
[テスト環境] タブで、ステップが実行される環境に関する情報を追加します。たとえば、オペレーティングシステム、ブラウザー、データベースなどです。
環境は、カテゴリ別にグループ分けされます。ALM Octaneには、すぐに使用できる環境のリストが用意されています。使用するプロジェクト開発モデルに基づいて、環境の詳細情報を定義することもできます。
次のいずれかを行います。
既存の環境を使用する [環境] ボックスをクリックし、既存の環境を選択します。
ボックスに入力を開始して、特定の値を検索できます。
カスタム環境を追加する -
[環境] ボックスをクリックし、新しい環境の名前を入力し、リストから選択します。
-
新しい環境の [カテゴリ] を選択し、[OK] をクリックします。
例:
-
Lab Machineカテゴリを追加し、夜間実行に使用するマシン用のタグを作成します。
-
特定のブラウザーバージョンまたは開発ブランチ用の環境を追加します。
詳細については、環境を参照してください。
ビルドパラメーターの値に基づいて、ビルド実行時に環境を設定するための条件を作成する
テーブルで、動的に割り当てる環境の行を追加します。
各行で次の内容を指定します。
パラメーター名 + 値 ==> 環境
このステップで使用可能なビルドパラメーターのリストから、ビルドパラメーター名を選択します。
注:
JenkinsのMatrixプラグインを使用する場合、パイプラインには、ビルド実行中に生成された子ステップが表示されます。それぞれが、ビルドパラメーター値の1つのセットを表しています。親ステップで条件付き環境を設定します。これは、生成される子ステップに適用されます。子の設定を変更することはできません。
-
-
レポートを作成します。[レポートのカスタマイズ] タブ > [ビルドレポートのURL] フィールドに、ALM Octaneがビルド用に生成されたレポートへのリンクを作成するために使用できるURLまたはURLテンプレートを入力します。
テンプレートに{job_name}と{build_number}のプレースホルダーを含めると、リンクの作成時にALM OctaneがURL内のそれらを関連するジョブ名とビルド番号に置き換えます。
例:
http://myServer:myPort/jenkins/job/{JobName}/{BuildNum}/reports/logs/jenkins-test-reports.html
ALM Octaneは、このパイプラインステップの一部として作成されたテスト実行へのリンクと、このステップの結果であるビルドへのリンクを追加します。
-
テスト実行レポート。[レポートのカスタマイズ] タブ > [テスト実行レポートのURL] フィールドに、ALM Octaneがテスト実行用に生成されたレポートへのリンクを作成するために使用できるURLまたはURLテンプレートを入力します。
注: CIサーバーで外部レポートURLを定義した場合、そのURL設定はALM Octane URL定義を上書きします。
{test_class}や{test_name}などのプレースホルダーをテンプレートに含めると、ALM Octaneは、リンクの作成時にURL内のプレースホルダーを関連するエンティティに置き換えます。
例:
http://myServer:myPort/{root_job_name}/{job_name}/{build_number}/{test_component}/{test_package}/{test_class}/{test_name}/{root_job_build_number}/reports/logs/jenkins-test-reports.html
ALM Octaneは、このパイプラインステップの一部として作成されるテスト実行へのリンクを追加します。
ヒント: チェックボックステスト実行レポートのURLの継承をオーバーライドを選択して、現在のジョブがトポロジ内の親からURL形式を継承しないようにすることができます。
パイプラインステップのフィルター
パイプラインをラベルまたはジョブ名でフィルターすると、指定したラベルのパイプラインステップのみを表示したり、指定した文字列が名前に含まれるステップのみを表示したりできます。
パイプラインにフィルターを設定しておくと、次にそのパイプラインを表示する際、そのフィルターが再度適用されます。
[パイプライン] タブで、パイプラインをクリックします。横の省略記号をクリックし、ドロップダウンで表示を選択します。パイプラインPLページが開きます。トポロジタブを選択します。
パイプラインフラットビュー:
- ラベルでのフィルター: 右側のラベルから選択し、表示するパイプラインステップのタイプを指定します。
- ジョブ名でのフィルター: コンテキスト検索ボックスに入力すると、指定した文字列が名前に含まれるステップのみが表示されます。
ラベルとジョブ名でフィルターすると、両方のフィルターに一致するステップのみが表示されます。
パイプラインの削除
パイプライン > パイプラインページで、パイプラインの縦の省略記号 (上部のサマリーバー) をクリックし、表示を選択します。
パイプラインの詳細が表示されたら、削除をクリックしてアクションを確認します。
パイプラインを削除する場合:
-
パイプラインのラベルと設定情報はすべて削除されます。
-
パイプライン実行と、このパイプラインからの自動テスト実行が削除されます。自動テストエンティティは削除されません。
特別なパイプラインタイプ
次のセクションでは、パイプラインをコードおよびマルチブランチパイプラインとして操作する方法について説明します。
コードとしてのパイプライン
パイプラインステージは、ALM Octaneパイプライントポロジに示されています。テストとコミットは、Jenkinsの場合と同様に、ルートジョブにリンクされています。テストはルートジョブにリンクされているため、ステージにタグを追加できないことに注意してください。
マルチブランチパイプライン
サポートされているマルチブランチパイプラインを使用している場合、ALM Octaneは、新しいブランチが初めて構築されるたびに (親パイプラインが作成された後)、対応する子パイプラインを自動的に作成します。パイプラインのメニューコマンドを使用して、ALM Octaneに表示されるブランチをフィルタリングできます。
たとえば、マスターブランチのALM Octaneにパイプラインがあり、GITでマスターからブランチを作成し、カスタムブランチでテストを実行するとします。この場合、ALM Octaneは自動的にブランチパイプラインをマスターパイプラインに追加し、ブランチパイプラインでのテストを表示します。ブランチをマージして削除すると、ALM Octaneは関連するパイプラインを自動的に削除します。
マルチブランチは次のようにサポートされています。
-
マルチブランチパイプラインジョブに基づくバージョン5.7のJenkinsプラグイン (Pipeline Multibranchプラグイン)。
-
ブランチのあるプランに基づく、バージョン1.9.6のBambooプラグイン。
-
ブランチのあるリポジトリに基づく、バージョン1.1.45のGitLabプラグイン。
注: ブランチなしでパイプラインを作成してから、BambooまたはGitLabにブランチを追加した場合、ALM Octaneはこの変更を反映しません。この場合、元のパイプラインを削除し、マルチブランチプラン用に新しいパイプラインを作成します。
次のステップ