Code Stream を vRealize Orchestrator (vRO) と統合すると、vRO ワークフローを実行してその機能を拡張できます。vRealize Orchestrator には、サードパーティ製ツールと統合できる事前定義済みのワークフローが多数含まれています。これらのワークフローは、DevOps プロセスの自動化と管理、一括操作の自動化などに役立ちます。
たとえば、パイプラインで vROタスクのワークフローを使用すると、ユーザーを有効にし、ユーザーを削除し、仮想マシンを移動できます。さらに、テスト フレームワークと統合してパイプラインの実行時にコードをテストするなど、さまざまなことができます。code.vmware.com では、vRealize Orchestrator ワークフローのコード例を参照できます。
パイプラインで vRealize Orchestrator ワークフローを使用すると、アプリケーションをビルド、テスト、および展開するときにアクションを実行できます。定義済みのワークフローをパイプラインに含めることも、カスタム ワークフローを作成して使用することもできます。ワークフローごとに入力、タスク、出力があります。
パイプラインで vRO ワークフローを実行するには、パイプラインに含めた vRO タスクで使用できるワークフローのリストに、そのワークフローが表示されている必要があります。
そのワークフローがパイプラインの vRO タスクに表示されるようにするには、管理者が vRealize Orchestrator で次の手順を実行する必要があります。
- CODESTREAM タグを vRO ワークフローに適用します。
- vRO ワークフローをグローバルとしてマークします。
前提条件
- vRealize Orchestrator のオンプレミス インスタンスに管理者としてアクセスできることを確認します。詳細については、管理者に問い合わせるか、vRealize Orchestrator ドキュメントを参照してください。
- Code Stream で、プロジェクトのメンバーであることを確認します。メンバーでない場合は、プロジェクトにメンバーとして追加するように Code Stream 管理者に依頼します。Code Streamでプロジェクトを追加する方法を参照してください。
- Code Stream で、パイプラインを作成し、ステージを追加します。
手順
- 管理者として、パイプラインで実行する vRealize Orchestrator ワークフローを準備します。
- vRealize Orchestrator で、ユーザーを有効にするためのワークフローなど、パイプラインで使用する必要があるワークフローを検索します。
必要なワークフローがどこにもない場合には作成できます。
- 検索バーに「タグ ワークフロー」と入力し、タグ ワークフロー という名前のワークフローを検索します。
- タグ ワークフロー という名前のカード上で [実行] をクリックすると、設定領域が表示されます。
- タグ付けされたワークフロー テキスト領域で、 Code Stream パイプラインで使用するワークフローの名前を入力し、そのワークフローをリストから選択します。
- タグ および 値 のテキスト領域に CODESTREAM を大文字で入力します。
- [グローバル タグ] という名前のチェック ボックスをクリックします。
- [実行] をクリックします。これにより、 Code Stream パイプラインで選択する必要があるワークフローに CODESTREAM という名前のタグが付けられます。
- ナビゲーション ペインで [ワークフロー] をクリックし、パイプラインで実行されるワークフロー カードに CODESTREAM という名前のタグが表示されることを確認します。
Code Stream にログインして、パイプラインに vRO タスクを追加すると、タグ付けされたワークフローがワークフロー リストに表示されます。
- vRealize Orchestrator で、ユーザーを有効にするためのワークフローなど、パイプラインで使用する必要があるワークフローを検索します。
- Code Stream で、vRealize Orchestrator インスタンスのエンドポイントを作成します。
- の順にクリックします。
- プロジェクトを選択します。
- 適切な名前を入力します。
- vRealize Orchestrator エンドポイントの URL を入力します。
次の形式を使用します。 https://vro-appliance.yourdomain.local:8281次の形式は使用しないでください。https://vro-appliance.yourdomain.local:8281/vco/apivRealize Automation アプライアンスに組み込まれている vRealize Orchestrator インスタンスの URL は、アプライアンスの FQDN であり、ポートを含みません。例: https://vra-appliance.yourdomain.local/vcovRealize Automation 8.x 以降の外部 vRealize Orchestrator アプライアンスの場合、アプライアンスの FQDN は次のとおりです: https://vro-appliance.yourdomain.local。vRealize Automation 7.x の外部 vRealize Orchestrator アプライアンスの場合、アプライアンスの FQDN は次のとおりです。 https://vro-appliance.yourdomain.local:8281/vcoエンドポイントの追加時に問題が発生した場合は、必要に応じて、SHA-256 証明書フィンガープリントからコロンを削除して YAML 構成をインポートします。たとえば、 B0:01:A2:72... は B001A272... になります。サンプル YAML コードは次のようになります。
``` --- project: Demo kind: ENDPOINT name: external-vro description: '' type: vro properties: url: https://yourVROhost.yourdomain.local username: yourusername password: yourpassword fingerprint: <your_fingerprint> ```
- 入力した URL に証明書が必要な場合は、[証明書を承諾] をクリックします。
- vRealize Orchestrator エンドポイントがバージョン 8.0 ~ 8.7 の場合は、認証タイプに [基本認証] を選択し、vRealize Orchestrator サーバのユーザー名とパスワードを入力します。
認証に非ローカル ユーザーを使用している場合は、ユーザー名のドメイン部分を省略する必要があります。たとえば、[email protected] を認証するには、[ユーザー名] テキスト領域に svc_vro と入力する必要があります。
注: vRealize Orchestrator エンドポイントがバージョン 8.8 以降の場合、基本認証はサポートされず、エンドポイントの作成は失敗します。
- パイプラインが vRO タスクを実行する準備をします。
- vRO タスクをパイプライン ステージに追加します。
- 適切な名前を入力します。
- [ワークフロー プロパティ] 領域で、vRealize Orchestrator エンドポイントを選択します。
- vRealize Orchestrator で CODESTREAM としてタグ付けしたワークフローを選択します。
作成したカスタム ワークフローを選択した場合は、入力パラメータ値の入力が必要になることがあります。
- [タスクの実行] の [条件に基づく] をクリックします。
- パイプラインの実行時に適用する条件を入力します。
パイプラインを実行するタイミング 条件の選択 条件に基づく 定義した条件が true に評価される場合にのみ、パイプライン タスクを実行します。条件が false の場合、タスクはスキップされます。
vRO タスクには、ブール式を含めることができます。次のオペランドと演算子を使用できます。
- ${pipeline.variableName} などのパイプライン変数。変数を入力するときは、中括弧のみを使用します。
- ${Stage1.task1.machines[0].value.hostIp[0]} などのタスク出力変数。
- ${releasePipelineName} などのデフォルトのパイプライン バインド変数。
- true、false、'true'、'false' などの大文字と小文字を区別しないブール値。
- 引用符を含めない整数値または 10 進数値。
- "test" や 'test' など一重引用符または二重引用符で囲んだ文字列値。
- == Equals や != Not Equals など文字列タイプおよび数値タイプの値。
- >、>=、<、<= などの関係演算子。
- && や || などのブール論理。
- +、-、*、/ などの算術演算子。
- 丸括弧でネストされた式。
- リテラル値 ABCD を含む文字列は false に評価され、タスクはスキップされます。
- 単項演算子はサポートされていません。
たとえば、${Stage1.task1.output} == “Passed” || ${pipeline.variableName} == 39 のような条件があります。
常時 [常時] を選択した場合、パイプラインは条件なしでタスクを実行します。 - あいさつのメッセージを入力します。
- [タスクの検証] をクリックし、発生したエラーを修正します。
- パイプラインを保存し、有効にして実行します。
- パイプラインの実行後、結果を確認します。
- [実行] をクリックします。
- パイプラインをクリックします。
- タスクをクリックします。
- 結果、入力値、およびプロパティを確認します。
ワークフロー実行 ID、誰がいつタスクに応答したか、また、応答にコメントを含めたかを把握できます。
結果
完了です。 Code Stream で使用する vRealize Orchestrator ワークフローにタグを付け、 Code Stream パイプラインに vRO タスクを追加しました。DevOps 環境でのアクションを自動化するワークフローがパイプラインで実行されるようになります。
例: vRO タスクの出力形式
vRO タスクの出力形式は、この例のようになります。
[{ "name": "result", "type": "STRING", "description": "Result of workflow run.", "value": "" }, { "name": "message", "type": "STRING", "description": "Message", "value": "" }]
次のタスク
引き続きパイプラインに vRO ワークフロー タスクを含めて、開発環境、テスト環境、および本番環境でタスクを自動化できるようにします。