JenkinsIBM App Connect Enterprise の併用

Jenkins は、継続的統合と継続的デリバリー (CI/CD) をサポートするオープン・ソース・ソフトウェアです。 Jenkins を使用して、プロジェクトのビルドとテストを自動化し、 DevOps プロセスを管理することができます。

このタスクの概要

IBM® App Connect Enterprise Windows、 AIX、および Linux® x64 システムで利用可能な「 Jenkins Request 」ノードを介して、 Jenkins と同期通信を行います。

Jenkins Request ノードを使用して Jenkins に接続し、 Jenkinsのオブジェクトに対して以下のようなアクションを実行できます。
ビルド
ビルドを開始、停止、取得、または削除します。 キュー内のビルド情報を取得するか、キュー内のビルドをキャンセルします。 コンソール出力またはビルド成果物をダウンロードします。 最後のビルドを取得します。
Projects
プロジェクトを取得、削除、有効化、または無効化します。 プロジェクトが存在するかどうかを確認します。

Jenkins Request ノードの構成と使用について詳しくは、 Jenkins Request ノードを参照してください。

手順

  1. IBM App Connect Enterprise ツールキットで、 Jenkins リクエストノードを含むフローを作成します。
  2. エディターでノード・プロパティーを表示するには、フロー内の Jenkins Request ノードを選択します。
  3. 「基本」 タブで、 「コネクター・ディスカバリーの起動」をクリックします。
    コネクターのディスカバリー中に使用するポリシー・プロジェクトの名前とボールトの詳細を指定するパネルが表示されます。
  4. コネクターのディスカバリー中に使用するポリシー・プロジェクトとボールトの詳細を指定します。
    1. 「ポリシー・プロジェクト」 フィールドに、コネクター・ディスカバリー中に作成されるポリシーを保管するために使用されるポリシー・プロジェクトを指定します。
      あるいは、「新規」をクリックし、新規ポリシー・プロジェクトの名前を指定して、新規ポリシー・プロジェクトを作成することもできます。 次に、「完了」をクリックします。
    2. コネクターのディスカバリー中に使用するボールトを指定します。 デフォルトでは、コネクターのディスカバリー中に使用される資格情報は、 外部ディレクトリー・ボールトに保管されます。これは、どの統合サーバーでも使用できる App Connect Enterprise ボールトです。 あるいは、資格情報を統合サーバー・ボールトに保管することもできます。統合サーバー・ボールトは、統合サーバーの作業ディレクトリーに作成され、その特定の統合サーバーでのみ使用できます。
      資格情報の保管に使用するボールトを指定するには、以下のいずれかのトピックの「 コネクター・ディスカバリー・ウィザードの使用 」セクションの手順を実行します。
    3. 「ボールト鍵 (Vault key)」 フィールドに、ボールトに保管されている資格情報にアクセスするために使用するボールト鍵を入力します。 ボールト鍵の長さは 8 文字以上でなければなりません。
    4. オプション: デフォルトでは、指定されたボールト・ロケーションとボールト・キーが Toolkit の設定として保存されるため、コネクター・ディスカバリーの起動時に値が事前設定されます。 設定を保存しない場合は、ボールト設定に保存 を選択解除します。
  5. Jenkins コネクターの「コネクター・ディスカバリー」ウィザードを開始するには、 「ディスカバリーの起動」 をクリックします。
    「コネクター・ディスカバリー」 ウィンドウが表示されます。 既存の Jenkins 接続 (アカウント) が使用可能な場合、それらの接続のリストが表示されます。 既存の接続がない場合、 Jenkins コネクターの状況は Not connectedと表示されます。
    • 1 つ以上の Jenkins 接続 (アカウント) が使用可能な場合、以下のステップを実行します。
      1. 使用したい接続 (アカウント) をクリックして選択します。
      2. 必要なオブジェクト・タイプをクリックし、オブジェクトに対して実行するアクションを選択します。 例えば、 Jenkinsからビルドを取得するには、 「ビルド」 をクリックしてから 「ビルドの取得」をクリックします。
    • 既存の接続 (アカウント) がない場合は、以下のステップを実行します。
      1. 必要なオブジェクト・タイプをクリックし、そのオブジェクトに対して実行するアクションを選択します。 例えば、 Jenkinsからビルドを取得するには、 「ビルド」 をクリックしてから 「ビルドの取得」をクリックします。
      2. 「接続」 をクリックします。
        Jenkins アカウントの接続の詳細を入力するためのウィンドウが表示されます。 次の情報を入力します。
        • アプリケーション URL : Jenkins インスタンスのアプリケーション URL。形式は <https>://<hostname>
          例: https://123.25.132.75
        • ユーザー名: Jenkins アカウントのユーザー名。
        • パスワード: 指定されたユーザー名のパスワード。

        これらの接続情報の特定に関する詳細については、『 IBMの「継続的デリバリー(CD)」 ドキュメントにある「 Jenkins での IBM の使用方法」( App Connect )を参照してください( App Connect in containers )。

      3. 「接続」 をクリックします。
  6. ウィザードで必要なコネクター・プロパティーを設定します。
    データを取得するための条件を追加するには、 「条件の追加」 をクリックしてから、フィルターに掛けるプロパティーを選択します。 取得するレコードの最大数と、その制限を超えた場合に実行するアクションを指定するプロパティーを設定することもできます。
  7. 「コネクター・ディスカバリー」ウィザードでプロパティーを指定し終えたら、 「保存」をクリックします。
    Jenkins への接続に使用される資格情報はボールトに保管され、その他の接続詳細は Jenkins ポリシーに保存されます。 ウィザードで設定したプロパティの値は、 IBM App Connect Enterprise Toolkit の 「 Jenkins Request 」ノードに返されます。
  8. ディスカバリーを終了してプロパティー値を保存したら、ウィンドウの右上隅にある X をクリックするか、 Alt+F4を押して、「コネクター・ディスカバリー」ウィザードを終了します。
  9. 「 IBM App Connect Enterprise 」ツールキット内の 「 Jenkins 」リクエストノードの編集画面に戻る。
    「コネクター・ディスカバリー」ウィザード (ステップ 6) で設定したコネクター・プロパティーが、プロパティー・エディターの Jenkins Request ノードに表示されるようになります。 「基本」 タブには、ウィザードで設定した 「アクション」 プロパティーと 「オブジェクト」 プロパティーの値が表示されます。 例えば、ウィザードで ビルド > 「ビルドの取得」 を選択した場合、以下のプロパティーがノードの 「基本」 タブに表示されます。
    • 処置 - RETRIEVEALL
    • オブジェクト - Build

    処置 プロパティーおよび オブジェクト プロパティーの値は、読み取り専用形式で表示されます。 これらの値を変更するには、「コネクター・ディスカバリーの起動」を再度クリックし、「コネクター・ディスカバリー」ウィザードで新しい値を設定します。

    「スキーマ・ベース名」 プロパティーは、 Jenkins コネクターとの間で送受信される要求メッセージと応答メッセージの形式を記述するスキーマ・ファイルのベース名を指定します。 スキーマ・ベース名は、ノードのディスカバリーを初めて実行するときに自動的に設定され、現在のフロー名とノード名に基づいています。 ディスカバリーを初めて実行する前にこのプロパティーを手動で設定した場合は、設定した値が使用されます。 ディスカバリー後にスキーマの名前を変更する場合は、プロジェクト内の名前変更されたスキーマによって使用されるスキーマ・ベース名と一致するように、このプロパティーを編集する必要があります。 ディスカバリー後にこのプロパティーを変更する場合は、一致するようにスキーマ名を変更するか、再度ディスカバリーを実行する必要があります。

    「コネクター・ディスカバリー」ウィザードは、ディスカバリー中に選択されたアクションに応じて、要求スキーマと応答スキーマ、または応答スキーマのみのいずれかを生成します。 アクションが RETRIEVE または DELETEであった場合は、応答スキーマのみがコネクターによって返されます。 生成されたスキーマ・ファイルはプロジェクトに追加され、入力データまたは出力データを変換するために Mapping ノードで使用できます。 スキーマの完全なファイル名は、スキーマのベース名 ( gen/MyMessageFlow.Jenkins_Requestなど) から派生し、 response.schema.json または request.schema.jsonのいずれかの接尾部が付きます。 「要求スキーマを開く」 または 「応答スキーマを開く」をクリックして、スキーマを開くことができます。

  10. Jenkins Request ノードのプロパティー設定が正しいことを確認してから、メッセージ・フローを保存します。
  11. Jenkins Request ノードの 「接続」 タブで、 「ポリシー」 プロパティーには、接続に使用されるセキュリティー ID の詳細を含むポリシーの名前が表示されます。 ポリシーのタイプは Jenkinsです。
    詳しくは、 Jenkins ポリシーを参照してください。
  12. オプション: 「接続」 タブの 「タイムアウト」 プロパティーを設定して、ノードが Jenkins による操作の処理を待機する時間 (秒単位) を指定します。
  13. Jenkins Request ノードの 「フィルター」 タブには、メッセージ・フローがデータを選択する方法を制御するプロパティーが含まれています。 これらのプロパティーの初期値は、「コネクター・ディスカバリー」ウィザードで Jenkins コネクター用に設定されたプロパティー値から取得されます。これには、フィルター・オプション・プロパティーおよび指定された条件 (ステップ 6で説明) が含まれます。 その後「コネクター・ディスカバリー」ウィザードに戻り、プロパティーの値を変更すると (例えば、新しい条件を追加することによって)、それらの更新はノード上のプロパティー・セットに反映されます。

    「フィルター・オプション」 プロパティーは、 Jenkins Request ノードの実行時に操作対象となるオブジェクトを制御します。 「フィルター制限」 プロパティーは、取得する項目の最大数と、制限を超えた場合に実行するアクションを制御します。

    値を変更するには、 「フィルター・オプション」 セクションで変更する値の横にある 「編集」 をクリックし、 「フィルター制限」 セクションで設定したプロパティー値を変更します。

    プロパティー値は、テキスト値、または Jenkins Request ノードの実行時にこのノードに渡されるメッセージの内容から解決される ESQL または XPATH 式のいずれかにすることができます。

  14. 「要求」 タブで、 「データの場所」 プロパティーを設定して、 Jenkinsで作成するオブジェクト・データを含む着信メッセージ・ツリー内の場所を指定します。 このデータは、 Jenkins Request ノードから Jenkins システムに送信される要求を形成します。
  15. 「結果」 タブで、 「出力データのロケーション」 プロパティーを設定して、 Jenkinsで作成されるレコードのデータが含まれる出力メッセージ・ツリー内のロケーションを指定します。
  16. デフォルトでは、要求メッセージは、コネクター・ディスカバリー中に生成された要求スキーマに照らして検証されます。 Jenkins Request ノードの 「妥当性検査」 プロパティーを使用して、要求の妥当性検査をオフにしたり、妥当性検査の設定を変更したりすることができます。
  17. メッセージ・フローを保存 します。