Jenkinsの統合

ALM Octaneでは、CIパイプラインからアプリケーションデリバリプロセスにデータを取り込んで、品質と進行状況の分析に利用できます。

JenkinsサーバーをMicro Focusアプリケーション自動化ツールからALM Octaneに接続すると、ビルド、自動テスト結果、SCMデータを追跡および分析できます。

ヒント: 専用のCIサーバーを持っていない場合で、ALM OctaneからUFT Oneのテスト実行をトリガーするために主に使用する軽量CIが必要な場合は、ALM Octaneクイックスタートガイドのための最小限のJenkinsのインストールを参照してください。

サポートされているプラグイン

Jenkinsの依存関係の最新リストについては、こちらをクリックしてください。

統合を準備するときは、次のガイドラインに従ってください。

  • ALM Octaneを使用している場合は、このプラグインのバージョン5.1以降を使用していること、およびALM Octaneプラグインがインストールされていないことを確認してください。詳細については、ALM Octane CIプラグインのCIサーバーへのインストールと設定を参照してください。
  • ALM Octane-UFT One統合の場合、このプラグインのバージョン5.2以降およびUFT 12.50以降で動作することを確認してください。
  • ALM Octaneがパイプラインの実行からLoadRunner Enterpriseのテスト結果を収集するには、このプラグインのバージョン5.2以降で作業していることを確認してください。
  • ALM Octaneは、パイプラインが次のいずれかを使用して構築されている場合にのみ、パイプラインの構造を表示できます。

    • 組み込みのJenkinsアップストリーム/ダウンストリームメカニズム
    • マルチジョブプラグイン
    • パラメーター化されたプラグイン

トップに戻る

前提条件

以下は、ALM OctaneをJenkinsと統合するための前提条件です。

  • Javaバージョン8以降。Javaのバージョンを確認するには、http://www.java.com/en/download/installed.jspにアクセスしてください。
  • ALM/Quality Centerクライアントは、テストを実行するマシンをインストールしました。クライアントがインストールされているかどうかを確認するには、次のページの手順に従ってください。 http://<your_server>:8080/qcbin/TDConnectivity_index.html
  • ALMからUFT Oneテストを実行するには、UFT OneマシンのInternet Explorerブラウザーから次のリンクにアクセスしてALMClientを共通登録モードでインストールします (httpsを推奨):https://<almserver>:<port>/qcbin/start_a.jsp?Common=true
  • LoadRunner ProfessionalまたはUFT Oneでファイルシステムシナリオを実行するには、Jenkinsでノードを設定する必要があります。詳細については、実行ノードの作成を参照してください。
  • ALM Octaneでパイプラインを構築および追跡する場合:

    • JQueryプラグイン1.7.2-1以降 (統合を有効にするために必要)
    • テスト結果の公開を可能にするプラグイン。たとえば、JUnitプラグイン1.10以降、またはNUnitプラグイン (ALM Octaneが自動テスト結果を収集できるようにするために必要)
  • ALM OctaneとUFT Oneの統合の場合:

    • Jenkins Gitプラグイン (バージョン2.4.4以降)

トップに戻る

Micro Focusアプリケーション自動化ツールプラグインへのアップグレード

すでにALM OctaneCIプラグインを使用して、ALMOctaneで動作するようにあなたのCIサーバーを設定する場合は、まずJenkinsのためにのMicro Focusアプリケーションの自動化ツールを使用する前にそれを削除する必要があります。

  1. Jenkinsサーバーのホームページに移動します。
  2. 左側のペインのプラグインの管理リンクをクリックします。
  3. [インストール] タブを選択し、ALMOctaneCIプラグインをアンインストールします。
  4. Jenkinsを再起動します。
  5. Micro Focusアプリケーション自動化ツールプラグインバージョン5.1以降をインストールします。
  6. Jenkinsを再起動します。
  7. ALM Octaneへの接続を設定します
  8. JenkinsまたはAzure DevOps Server (TFS) プラグインを、既存のALM Octaneパイプラインと連携するように設定します

トップに戻る

ALM Octaneサーバーへの接続の設定

本項では、ALM OctaneとJenkinsマシンとの間の接続をセットアップする方法について説明します。

接続を設定する前に

  1. ALM Octane共有スペース管理者に、APIアクセスのクライアントIDとクライアントシークレットの取得を依頼します。プラグインは、この情報を、ALM Octaneと通信する際の認証に使用します。アクセスキーは、関連するすべてのワークスペースで、CI/CD統合ロールに関連付ける必要があります。詳細については、APIアクセスのセットアップを参照してください。
  2. インターネット接続にプロキシが必要な場合は、プロキシ設定をセットアップしてください。

    1. [Manage Jenkins] > [Manage Plugins] > [Advanced] に移動し、必要なHTTPプロキシ設定の詳細を定義します。

      • ALM Octaneは、Jenkinsサーバーのプライベートネットワークの外側に配置されている場合は、ALM Octaneとの通信にジェンキンズを可能にするために、プロキシサーバーの詳細を定義します。
      • ALM OctaneサーバーとJenkinsサーバーが両方とも同じプライベートネットワークにある場合 (オンプレミスでALM Octaneを使用している場合は一般的)、 Octaneに到達するためにプロキシを使用しないようにJenkinsに指示します。ALM OctaneのURLをプロキシホストなしリストに追加します (ALM Octaneの完全修飾ドメイン名 (FQDN) を使用)。
        注: この場合でも、JenkinsがGitなどの他の外部リソースにアクセスできるようにするためにプロキシサーバーの詳細を定義する必要がある場合があります。
    2. JenkinsがOctaneに到達できることをテストします。

      1. HTTPプロキシ構成の詳細の下にある詳細ボタンをクリックします。
      2. 完全修飾ドメイン名 (FQDN) を使用してALM OctaneのURLを入力し、テストURLをクリックします。
    3. プラグインが新しいプロキシ設定を使用するように、Jenkinsサーバーを再起動します。

  3. JenkinsユーザーALM Octaneは、サーバー上のジョブを実行するために使用するかを決めます。

    注意: このユーザーの権限は、統合に必要な最小限の権限に設定することを強くお勧めします。Jenkinsユーザーには、次の権限が必要です。

    • ALM Octaneパイプラインを使用する場合: Job Build
    • ALM Octane-UFT統合の場合: Job CreateDelete、およびRead
    • Gitリポジトリで資格情報が必要な場合は、Credentials createおよびupdateの権限も必要です。

接続の設定

  1. Jenkinsサーバーのホームページに移動します。
  2. 左側のペインのManage Jenkinsリンクをクリックします。
  3. [Configure System] をクリックします。
  4. ALM Octane CIセクションまで下にスクロールします。
  5. [Add ALM Octane server] をクリックします。
  6. 画面の指示に従って、構成を完了します。

    • [Location]について、その完全修飾ドメイン名 (FQDN) を使用して、ALM OctaneのURLを入力してください。次の形式を使用します。http://<ALM Octaneホスト名 / IP address> {:<port number>}/ui/?p=<共有スペースID>

      このURLで、スペースIDが1002の場合: http://myServer.myCompany.com:8081/ui/?p=1002

      ポートが80の場合、ポート番号を追加する必要はありません。

      ヒント: ALM Octaneを開いているブラウザーのアドレスバーからURLをコピーできます。たとえば、これがワークスペースのURLである場合は、完全なアドレスをコピーします:https://almoctane.saas.microfocus.com/ui/?p=100101/1002#/

    • クライアントIDおよびクライアントシークレットを入力するときは、先頭または末尾にスペースを入れずに正確なテキストを入力してください。

    • Jenkinsユーザーため、ALM Octaneサーバ上でジョブを実行するために使用するJenkinsユーザを入力します。ユーザーがJenkinsにログインでき、この統合に必要な最小限の権限を持っていることを確認してください。Job Build権限。OctaneのJenkinsユーザーを指定することを強くお勧めします。Jenkinsユーザーを指定しない場合、ALM Octaneは匿名ユーザーを使用し、匿名ユーザーのアクセス許可に制限されます。

    • 一部の環境では、ALM Octaneのユーザーが、特定のワークスペースのジョブのサブセットにのみアクセスできるようにしたい場合があります。この場合、ジョブのサブセットにアクセスできるJenkinsのユーザーを定義し、Advancedをクリックして、フィールドJenkins user for specific workspacesにワークスペースごとに1つ以上のユーザーセットを入力します。パイプラインを作成すると、現在のワークスペースに割り当てられているJenkinsユーザーがアクセスできるジョブのみが表示されます。詳細については、フィールドJenkins user for specific workspacesのプラグインヘルプを参照してください。

  7. 追加的なALM Octane共有スペースを接続するには、Add ALM Octane serverをクリックして、詳細を入力します。
  8. 接続テストをクリックして、構成を検証します。
  9. Submitをクリックして変更を保存します。

接続が設定されたら、次のいずれかを実行できます。

  • OctaneユーザーインターフェイスからOctaneパイプラインを作成します。これを行うには、ALM Octane設定でCIサーバーを定義してから、パイプラインを作成します。詳細については、ALM Octane CIプラグインのCIサーバーへのインストールと設定を参照してください。
  • JenkinsユーザーインターフェイスからOctaneパイプラインを作成します。詳細については、JenkinsでのALM Octaneパイプラインの作成と設定を参照してください
  • UFT OneとALM Octaneとの統合を設定します。これを行うには、ALM Octane設定でCIサーバーを定義してから、テストツール接続を作成します。詳細については、UFT One統合のセットアップを参照してください。
  • ALM Octaneを使用して脆弱性に関するデータを表示するには、Fortifyはソフトウェアセキュリティセンター (SSC) とセキュリティの統合を設定します。詳細については、Fortifyとの統合を設定するを参照してください。

トップに戻る

JenkinsでOctaneパイプラインを作成および設定する

ALM Octaneパイプラインを作成する前に、ALM Octaneサーバー (上記) への接続が設定されていることを確認してください。

JenkinsでOctaneパイプラインを作成するには:

  1. Jenkinsサーバーのホームページに移動します。
  2. パイプラインのルートジョブとして使用するジョブをクリックします。
    注: 既存のOctaneパイプラインにまだ含まれていないジョブを選択します。
  3. 左側のペインのメニューで、ALM Octane Pipelinesをクリックします。
  4. Create Pipelineをクリックします。
  5. Jenkinsで設定されたOctaneサーバーの設定を選択します。

  6. パイプラインの詳細を入力します。

    1. パイプラインの名前を指定します。
    2. ワークスペースリストには、ALM Octaneセクションで設定したOctaneサーバー上のすべてのワークスペースが表示されます。パイプラインのワークスペースを選択します。
    3. リリースリストには、選択したワークスペースで使用可能なリリースが表示されます。必要に応じて、パイプラインに関連付けるリリースを選択します。
    4. マイルストーンリストには、選択したリリースで使用可能なマイルストーンが表示されます。必要に応じて、パイプラインに関連付けるマイルストーンを選択します。
  7. Createをクリックします。

注意: パイプラインを削除すると、そのすべてのラベルと構成情報が失われます。

パイプラインを編集してパイプラインステップを設定するには:

  1. Jenkinsサーバーのホームページに移動します。
  2. 既存のOctaneパイプラインに含まれているジョブをクリックします。
  3. 左側のペインのメニューで、ALM Octane Pipelinesをクリックします。パイプラインを編集するためのページが開きます。
  4. パイプラインの名前、ワークスペース、リリース、またはマイルストーンを編集できます。マイルストーンまたはリリースを変更すると、ALM Octaneに新しい実行のセットが作成され、新しい実行履歴が作成されることに注意してください。
  5. テストを実行するジョブの場合、テストと環境の詳細を設定します。詳細については、パイプラインの作成と設定を参照してください。
    注:

    • Jenkinsジョブがパイプラインに複数回含まれる場合があります。Jenkinsジョブを設定すると、これはOctaneパイプラインの関連するすべてのステップに影響します。
    • ビルドパラメーター値に基づいてビルド実行中に環境タグを動的に設定するには、 Octaneでパイプラインを設定します。
  6. Applyをクリックします。

ALM Octaneでパイプラインを追跡する方法の詳細については、パイプラインの実行を参照してください。

トップに戻る

Jenkins-ALMOctaneの統合のトラブルシューティング

このプラグインのバージョン5.1以降を使用している場合は、Jenkinsサーバーに古いOctaneプラグインがインストールされていないことを確認してください。

次の表に、統合の問題を解決するための提案を示します。

問題 可能な解決策
テスト接続が失敗する 古いsdkバージョンのCIプラグインを使用していないことを確認します。
Octaneからパイプラインを実行できない。[実行] ボタンが無効になっている。
  • Jenkinsサーバーがダウンしている可能性があり、またはそれは、ALM Octaneと通信していません。
  • ALM Octaneプラグインからのアップグレード後にこれが発生した場合: プラグインのOctane CI構成で、インスタンスIDをCIサーバーのOctaneで定義されたIDで更新したことを確認してください。詳細については、Micro Focus アプリケーション自動化ツールプラグインへのアップグレードを参照してください。
ALM Octaneで新しいパイプラインを作成すると、CIサーバーを選択した後、「Jenkinsジョブのフェッチに失敗しました」というメッセージが [ジョブ] フィールドに表示される。
  • これは、Jenkinsジョブが間接的に自分自身を呼び出すときに発生します。Jenkinsからパイプラインを作成してみてください。この場合、ログファイルは問題を示していません。このプラグインのバージョン5.2では、この問題の修正が導入されました。
  • 次のALM OctaneがJenkinsに何かを要求するとエラーが発生するを参照してください。

ALM OctaneがJenkinsに何かを要求するとエラーが発生する。ALM Octaneからパイプラインを実行すると、次のエラーメッセージが表示されます。「パイプラインの実行: パイプラインの実行中にエラーが発生しました」

ALM Octaneで新しいパイプラインを作成すると、CIサーバーを選択した後、「Jenkinsジョブのフェッチに失敗しました - エラー403は禁止されています」というメッセージが [ジョブ] フィールドに表示されます。

これは、ALM Octaneがサーバー上でジョブを実行するために使用するJenkinsユーザーの権限に関する問題です。

Jenkins構成のOctane CIセクションで、Jenkinsユーザーを定義します。このユーザーには、Job Build権限が必要です。詳細については、ALM Octane CIプラグインのCIサーバーへのインストールと設定を参照してください。

ALM Octaneで新しいCIサーバーを作成すると、Jenkinsでの接続のテストが機能した場合でも、接続されているサーバーのリストにJenkinsサーバーが表示されません。 Jenkinsプロキシ設定が正しいこと、およびプロキシ設定を変更した後にJenkinsサーバーを再起動したことを確認してください。詳細については、ALM Octane CIプラグインのCIサーバーへのインストールと設定を参照してください。
パイプラインからのテスト結果はOctaneに反映されません。 ジョブはフォルダの下にある場合にはMavenのジョブからのテスト結果は、ALM Octaneに報告されていません。フリースタイルおよびパイプラインジョブは、期待どおりに結果を報告します。このプラグインのバージョン5.2では、この問題の修正が導入されました。

ログファイルを使用したトラブルシューティング

Jenkinsさんは、ALM Octaneに様々なイベントやデータを送信します。例: ジョブの開始、ジョブの終了、SCMデータ、テスト結果。

エラーが発生した場合、JenkinsとALM Octaneとの間の通信を確認してください。

トラブルシューティングに役立てるために、Jenkinsサーバーのログファイルで接続の問題やセキュリティの問題などを確認することをお勧めします。

ログファイルは次の場所にあります。

  • Jenkinsシステムログ: http://<Jenkins url>/log/all
  • プラグインログ: http://<Jenkins url>/userContent/nga/logs/nga.log

プラグインのログメッセージを理解する

  • フローが成功すると、Jenkinsは次を送信します: done, left to send 0 events例:

    • INFO - EventsClient: sending events [job\-name:STARTED] to 'http://localhost:8080'...
    • INFO - EventsClient: sending events [job\-name:FINISHED] to 'https://mqast010pngx.saas.mf.com'...
    • INFO - EventsClient: ... done, left to send 0 events
    • INFO - TestDispatcher: There are pending test results, connecting to the MQM server
    • INFO - TestDispatcher: Successfully pushed test results of build job-name#10
  • ALM Octaneサーバーが使用できない場合、ログメッセージは次のようになります。

    ERROR - BridgeClient: connection to MQM Server temporary failed: authentication error com.hp.mqm.client.exception.AuthenticationException: Authentication failed: code=503; reason=Service Unavailable

  • Octane > ALM Octane通信でエラーが発生すると、ログメッセージは次のようになります。

    ERROR - EventsClient: max number of retries reached TestDispatcher: There are pending test results, but we are in quiet period

トップに戻る

Octaneパイプラインの作成と構成のトラブルシューティング

この表を使用して、統合の問題を解決してください。

問題 可能な解決策
パイプラインを作成しようとしたときのエラー: パイプラインを作成できません

選択したワークスペースを使用すると、ALM OctaneにALMOctaneCIを接続するために使用されることをアクセスキー用に定義されたワークスペースのリストに含まれていることを確認します。

それでもエラーが発生する場合は、別のワークスペースを選択するか、 Octane共有スペース管理者にワークスペースをリストに追加するよう依頼してください。詳細については、APIアクセスのセットアップを参照してください。

ジョブを設定しようとしたときのエラー: ジョブ構成を取得できません

このジョブを含むパイプラインは、ALM OctaneプラグインからアクセスできないワークスペースのOctaneで作成された可能性があります。ワークスペースは、あなたがALM OctaneにALMOctaneCIを接続するために使用されることをアクセスキー用に定義されたワークスペースのリストに含まれていることを確認します。

それでもエラーが発生する場合は、 Octane共有スペース管理者にワークスペースをリストに追加するよう依頼してください。詳細については、APIアクセスのセットアップを参照してください。

トップに戻る

参照情報: NOTE TO WRITER: Add your link/cross-reference in a bullet list after the snippet. Apply the SeeAlso style to the <ul> tag.