vRealize Automation Code Stream を使用して、ビルド、テスト、および展開のプロセスをモデリングすることができます。vRealize Automation Code Stream では、リリース サイクルをサポートするインフラストラクチャを設定し、ソフトウェアのリリース アクティビティをモデル化するパイプラインを作成します。vRealize Automation Code Stream は、開発コードからソフトウェアを提供し、テストを経て本番インスタンスに展開します。

各パイプラインには、ステージとタスクがあります。ステージは開発段階を表し、タスクはステージを介してソフトウェア アプリケーションを配信する必須のアクションを実行します。

vRealize Automation Code Stream のパイプラインについて

パイプラインは、ソフトウェア リリース プロセスの継続的インテグレーションと継続的デリバリのモデルです。ここでソフトウェアはソース コードからテストを経て本番環境にリリースされます。ステージは複数が連続したものとなっており、各ステージにはタスクがあります。タスクとは、ソフトウェア リリース サイクルのアクティビティのことです。ソフトウェア アプリケーションは、パイプラインを介して、あるステージから次のステージへと流れていきます。

パイプラインのタスクがデータ ソース、リポジトリ、または通知システムに接続できるようにエンドポイントを追加します。GitHub リポジトリなど、リモートのオンプレミスのエンドポイントに vRealize Automation Code Stream を接続するには、クラウド プロキシを使用する必要があります。

パイプラインの作成

パイプラインの作成を空のキャンバスから開始する場合は、スマート パイプライン テンプレートを使用するか、YAML コードをインポートすることができます。

空白のキャンバスを使用してパイプラインを作成する場合は、ステージ、タスク、および承認を追加します。パイプラインは、アプリケーションをビルド、テスト、展開、リリースするプロセスを自動化します。各ステージのタスクは、それぞれのステージでコードをビルド、テスト、およびリリースするアクションを実行します。

表 1. パイプライン ステージと使用例
ステージの例 実行できる操作の例
開発

開発ステージでは、マシンのプロビジョニング、アーティファクトの取得が可能です。また、ビルド タスクを追加してコードの継続的インテグレーションに使用する Docker ホストの作成などを行うことができます。

例:

テスト

テスト ステージでは、ソフトウェア アプリケーションをテストする Jenkins タスクを追加し、JUnit や JaCoCo などの後処理テスト ツールを含めることができます。

例:

本番

本番ステージでは、VMware Cloud Assembly のクラウド テンプレートと統合して、インフラストラクチャのプロビジョニング、Kubernetes クラスタへのソフトウェアの展開などを行うことができます。

例:

パイプラインを YAML ファイルとしてエクスポートできます。[パイプライン] をクリックし、パイプライン カードをクリックしてから、[アクション] > [エクスポート] の順にクリックします。

パイプラインの承認

パイプライン内の特定の時点で、別のチーム メンバーから承認を得ることができます。

  • パイプラインにユーザー操作タスクを含めることでパイプラインの承認を要求するには、パイプラインを実行して結果を確認する方法を参照してください。このタスクは、承認を行うメンバーに E メール通知を送信します。メンバーが承認するか拒否しないと、パイプラインは実行を継続できません。ユーザー操作タスクの有効期限のタイムアウトが日、時間、または分単位で設定されている場合、タスクの有効期限が切れる前に、目的のユーザーがパイプラインを承認する必要があります。そうしないと、パイプラインは予期したとおり失敗します。
  • パイプラインのどのステージでも、タスクまたはステージで障害が発生した場合は、vRealize Automation Code Stream で JIRA チケットを作成できます。パイプライン タスクが失敗したときに VMware Code Stream で JIRA チケットを作成する方法を参照してください。

パイプラインのトリガ

パイプラインは、開発者がコードをリポジトリにチェックインしたり、コードを表示したりするときや、新規または更新されたビルド アーティファクトを識別するときにトリガされる可能性があります。

vRealize Automation Code Stream でサポートされるトリガの詳細については、VMware Code Stream でのパイプラインのトリガを参照してください。