Code Stream には、Jenkins プラグインが搭載されています。Jenkins ジョブをトリガしてソース コードをビルドおよびテストするというものです。この Jenkins プラグインは、テスト ケースを実行し、カスタム スクリプトを使用できます。

パイプラインで Jenkins ジョブを実行するには、オンプレミスまたはクラウドベースの Jenkins サーバを使用し、 Code Stream に Jenkins エンドポイントを追加します。次に、パイプラインを作成し、Jenkins タスクを追加します。

前提条件

  • バージョン 1.561 以降を実行しているオンプレミスまたはクラウドベースの Jenkins サーバをセットアップします。
  • オンプレミスの Jenkins サーバを使用する場合は、クラウド プロキシを追加するために VMware Cloud Assembly にアクセスできることを確認します。例については、リリース プロセスをモデリングするための VMware Code Stream の設定を参照してください。
  • Code Stream で、プロジェクトのメンバーであることを確認します。メンバーでない場合は、プロジェクトにメンバーとして追加するように Code Stream 管理者に依頼します。VMware Code Streamでプロジェクトを追加する方法を参照してください。
  • Jenkins サーバにジョブがあり、パイプライン タスクがそのジョブを実行できるようになっていることを確認します。

手順

  1. Jenkins エンドポイントを追加し、検証します。
    1. [エンドポイント] > [新規エンドポイント] の順にクリックします。
    2. プロジェクトを選択し、エンドポイント タイプとして [Jenkins] を選択します。次に、名前と説明を入力します。
    3. このエンドポイントがインフラストラクチャのビジネス クリティカルなコンポーネントである場合は、[制限付きとしてマーク] を有効にします。
    4. このエンドポイントがオンプレミスにある場合は、このエンドポイントを Code Stream に接続するクラウド プロキシを選択します。
    5. Jenkins サーバの URL を入力します。
    6. Jenkins サーバにログインするためのユーザー名とパスワードを入力します。次に、その他の情報を入力します。
      表 1. Jenkins エンドポイントのその他の情報
      エンドポイントの入力情報 説明
      フォルダ パス ジョブをグループ化するフォルダのパス。Jenkins は、フォルダ内のすべてのジョブを実行できます。サブフォルダを作成できます。例:
      • folder_1job_1 を含めることができます
      • folder_1job_2 を含め、その中にさらに folder_2 を含めることができます。

      folder_1 のエンドポイントを作成すると、フォルダ パスは job/folder_1 となり、エンドポイントには job_1 のみが表示されます。

      folder_2 という名前の子フォルダにあるジョブのリストを取得するには、そのフォルダ パスを /job/folder_1/job/folder_2/ として使用するエンドポイントを別途作成する必要があります。

      URL Jenkins サーバのホスト URL。protocol://host:port という形式で URL を入力します。例:http://192.10.121.13:8080
      ポーリング間隔 Code Stream が Jenkins サーバをポーリングして更新を確認する間隔。
      申請の再試行回数 Jenkins サーバのスケジュール設定されたビルド申請を再試行する回数。
      再試行の待機時間 Jenkins サーバのビルド申請を再試行するまでの待機時間(秒単位)。
    7. [検証] をクリックし、エンドポイントが Code Stream に接続されていることを確認します。接続されていない場合は、エラーを修正し、[保存] をクリックします。
      Jenkins エンドポイントを使用したコードのビルドとテスト。
  2. コードをビルドするには、パイプラインを作成し、Jenkins エンドポイントを使用するタスクを追加します。
    1. [パイプライン] > [新しいパイプライン] > [空白のキャンバス] の順にクリックします。
    2. デフォルトのステージをクリックします。
    3. [タスク] 領域で、タスクの名前を入力します。
    4. タスク タイプに [Jenkins] を選択します。
    5. 作成した Jenkins エンドポイントを選択します。
    6. ドロップダウン メニューから、パイプラインが実行する Jenkins サーバ上のジョブを選択します。
    7. ジョブのパラメータを入力します。
    Jenkins エンドポイントを使用する Jenkins ビルド タスクの作成。
  3. パイプラインを有効にして実行し、パイプラインの実行状況を表示します。
    Jenkins ビルド タスクのパイプラインの実行。
  4. パイプライン ダッシュボードで実行の詳細とステータスを確認します。
    障害があれば特定し、その理由を突き止めます。また、パイプラインの実行期間、完了、および障害に関するトレンドも表示できます。
    パイプライン ダッシュボードで実行の詳細とステータスを確認します。

結果

完了です。エンドポイントを追加し、パイプラインを作成し、コードをビルドする Jenkins タスクを設定して、 Code Stream を Jenkins と統合しました。

例: Jenkins ビルド タスクの YAML の例

この例で使用したタイプの Jenkins ビルド タスクの場合、YAML は次のコードに似ています。通知が有効になっています。

test:
  type: Jenkins
  endpoints:
    jenkinsServer: jenkins
  input:
    job: Add two numbers
    parameters:
      Num1: '23'
      Num2: '23'

次のタスク

詳細については、他のセクションを参照してください。エンドポイントへの VMware Code Stream の接続を参照してください。