パイプラインを構成するときは、必要なアクションに対してパイプラインが実行する特定タイプのタスクを追加します。各タスク タイプは別のアプリケーションと連携し、ユーザーのアプリケーションをビルド、テスト、配信するときにパイプラインを有効にします。
展開のためにリポジトリからアーティファクトを取得する必要がある場合でも、リモート スクリプトを実行する必要がある場合でも、チーム メンバーからユーザー操作の承認を得る必要がある場合でも、Automation Pipelines ではパイプライン実行のために、ユーザーに適したタイプのタスク タイプを用意しています。
Automation Pipelines では、さまざまなタイプのタスクでパイプラインの実行をキャンセルできます。パイプラインの実行で [キャンセル] をクリックすると、タスク、ステージ、またはパイプライン全体がキャンセル状態になり、パイプラインの実行がキャンセルされます。
- Jenkins
- SSH
- PowerShell
- ユーザー操作
- パイプライン
- クラウド テンプレート
- vRO
- ポーリング
Automation Pipelines は、CI、カスタム統合、Kubernetes などのタスクに対するキャンセル動作をサードパーティ システムに伝達しません。Automation Pipelines はタスクをキャンセル済みとしてマークし、タスクが終了するのを待つことなくステータスの取得をただちに停止します。サードパーティ システムではタスクが完了することも失敗することもありますが、Automation Pipelines での実行は [キャンセル] をクリックするとただちに停止します。
パイプラインでタスクを使用する前に、対応するエンドポイントが使用可能であることを確認します。
タスクのタイプ | 機能 | 例と詳細 |
---|---|---|
[ユーザー操作] | ユーザー操作タスクでは、いつパイプラインを実行し、承認のために停止する必要があるのかを制御する、必須の承認が有効になります。 |
パイプラインを実行して結果を確認する方法を参照してください。また、Automation Pipelines でユーザー アクセスと承認を管理する方法も参照してください。 |
[条件] | 決定ポイントを追加します。決定ポイントでは、パイプラインの実行を継続するか、または停止するかが条件式に基づいて決定されます。条件が true の場合、パイプラインは後続のタスクを実行します。false の場合、パイプラインは停止します。 |
条件タスクで変数バインドを使用して、Automation Pipelines でパイプラインを実行または停止する方法を参照してください。 |
タスクのタイプ | 機能 | 例と詳細 |
---|---|---|
[クラウド テンプレート] | GitHub から自動クラウド テンプレートを展開してアプリケーションをプロビジョニングし、クラウド テンプレートの継続的インテグレーションおよび継続的デリバリ (CICD) を展開用に自動化します。 |
Automation Pipelines の YAML クラウド テンプレートから展開するアプリケーションのリリースを自動化する方法を参照してください。 最初に [作成] または [更新] を選択してから [クラウド テンプレート] と [バージョン] を選択すると、クラウド テンプレートのパラメータが表示されます。次の要素を追加することにより、クラウド テンプレート タスクの入力テキスト領域で変数のバインドを使用できます。
入力で変数のバインドを使用する場合は、次の例外に注意してください。列挙の場合は、固定セットから列挙値を選択する必要があります。ブール値の場合は、入力テキスト領域に値を入力する必要があります。 Automation Assembler 内のクラウド テンプレートに入力変数がある場合、クラウド テンプレートのパラメータがクラウド テンプレート タスクに表示されます。たとえば、クラウド テンプレートに |
[CI] | CI タスクでは、レジストリ エンドポイントから Docker ビルド イメージを取得し、Kubernetes クラスタに展開することで、コードからパイプラインへの継続的インテグレーションが可能です。 CI タスクでは、ログの 100 行が出力として表示され、ログをダウンロードすると 500 行が表示されます。 CI タスクには、短期ポート 32768 ~ 61000 が必要です。 |
スマート パイプライン テンプレートを使用する前の Automation Pipelines での CICD ネイティブ ビルドの計画を参照してください。 |
[カスタム] | カスタム タスクでは、Automation Pipelines が自分のビルド、テスト、展開ツールと統合されます。 |
|
[Kubernetes] | Kubernetes クラスタへのソフトウェア アプリケーションの展開を自動化します。 |
Kubernetes クラスタへの Automation Pipelines のアプリケーションのリリースを自動化する方法を参照してください。 |
[パイプライン] | パイプラインをプライマリ パイプラインにネストします。パイプラインはネストされると、プライマリ パイプラインのタスクとして動作します。 ネストされたパイプラインには、プライマリ パイプラインの [タスク] タブでリンクをクリックして簡単に移動することができます。ネストされたパイプラインは、新しいブラウザ タブで開きます。 |
[実行] でネストされたパイプラインを検索するには、検索領域に nested と入力します。 |
タスク タイプ | 機能... | 例と詳細 |
---|---|---|
[Bamboo] | 展開の準備中にソフトウェアを継続的にビルド、テスト、および統合する Bamboo の継続的インテグレーション (CI) サーバと連携し、開発者が変更をコミットする際にコード ビルドをトリガします。Bamboo ビルドが生成するアーティファクトの場所を公開し、他のタスクでビルドと展開に使用するためにタスクでパラメータを出力できるようにします。 |
Bamboo サーバ エンドポイントに接続し、パイプラインから Bamboo ビルド プランを開始します。 |
[Jenkins] | ソース コードのビルドおよびテスト、テスト ケースの実行、カスタム スクリプトの使用が可能な Jenkins ジョブをトリガします。 |
Automation Pipelines を Jenkins と統合する方法を参照してください。 |
[TFS] | パイプラインを Team Foundation Server に接続して、コードのビルドとテストを実行する構成済みのジョブを含むビルド プロジェクトの管理と呼び出しが可能になります。 |
Automation Pipelines でサポートされる Team Foundation Server のバージョンについては、Automation Pipelines でのエンドポイントとはを参照してください。 |
[vRO] | VMware Aria Automation Orchestrator で事前定義またはカスタム ワークフローを実行して、Automation Pipelines の機能を拡張します。 Automation Pipelines は、VMware Aria Automation Orchestrator の基本認証とトークンベースの認証をサポートします。Automation Pipelines は、API トークンを使用して VMware Aria Automation Orchestrator クラスタの認証と検証を行います。トークンベースの認証では、Automation Pipelines はクラウド拡張性プロキシを使用する VMware Aria Automation Orchestrator エンドポイントをサポートします。そのため、Automation Pipelines で、クラウド拡張性プロキシを使用する VMware Aria Automation Orchestrator エンドポイントを使用してワークフローをトリガできます。 |
Automation Pipelines を VMware Aria Automation Orchestrator と統合する方法を参照してください。 |
タスク タイプ | 機能... | 例と詳細 |
---|---|---|
[REST] | Automation Pipelines を REST API を使用する他のアプリケーションと連携して、相互に連携可能なソフトウェア アプリケーションを継続的に開発および提供できるようにします。 |
REST API を使用して Automation Pipelines を他のアプリケーションと統合する方法を参照してください。 |
[ポーリング] | REST API を呼び出し、パイプライン タスクが終了基準を満たして完了するまでポーリングします。 Automation Pipelines 管理者は、ポーリング数を最大 10,000 に設定できます。ポーリング間隔は 60 秒以上にする必要があります。 [失敗時に続行] チェック ボックスをオンにすると、回数または間隔がこれらの値を超えた場合でも、ポーリング タスクは引き続き実行されます。
|
REST API を使用して Automation Pipelines を他のアプリケーションと統合する方法を参照してください。 |
タスクのタイプ | 機能 | 例と詳細 |
---|---|---|
[PowerShell] | PowerShell タスクを使用すると、Automation Pipelines は、リモート ホスト上でスクリプト コマンドを実行できます。たとえば、スクリプトで、テスト タスクを自動化したり、管理タイプのコマンドを実行したりできます。 スクリプトは、リモートとユーザー定義のいずれも可能です。HTTP または HTTPS を介した接続や、TLS の使用も可能です。 Windows ホストでは、winrm サービスが構成されている必要があります。また、winrm では、MaxShellsPerUser と MaxMemoryPerShellMB が構成されている必要があります。 PowerShell タスクを実行するには、リモート Windows ホストへのアクティブなセッションが必要です。 [PowerShell コマン ドラインの長さ] base64 PowerShell コマンドを入力する場合は、コマンド全体の長さを計算する必要があることに注意してください。 Automation Pipelines パイプラインは base64 PowerShell コマンドをエンコードして、別のコマンド内にラッピングするため、コマンドの全体の長さが増加します。 PowerShell winrm コマンドで許可される最大長は 8192 バイトです。PowerShell タスクがエンコードおよびラッピングされている場合は、コマンド長の上限が低くなります。したがって、PowerShell コマンドを入力する前に、コマンド長を計算する必要があります。 Automation Pipelines PowerShell タスクのコマンド長の上限は、元のコマンドを base64 でエンコードした後の長さによって決まります。コマンド長は次のように計算されます。
Automation Pipelines のコマンド長は、上限の 8192 よりも小さくする必要があります。 |
MaxShellsPerUser と MaxMemoryPerShellMB を設定する場合:
このスクリプトは、別のパイプラインが使用できる応答ファイルに出力を書き込みます。 |
[SSH] | SSH タスクでは、Bash シェル スクリプト タスクがリモート ホスト上でスクリプト コマンドを実行できます。たとえば、スクリプトで、テスト タスクを自動化したり、管理タイプのコマンドを実行したりできます。 スクリプトは、リモートとユーザー定義のいずれも可能です。HTTP または HTTPS を介した接続が可能で、プライベート キーまたはパスワードが必要です。 Linux ホスト上で SSH サービスが構成されている必要があります。また、MaxSessions の SSHD 設定は 50 にする必要があります。 複数の SSH タスクを同時に実行する場合は、SSH ホストの
SSH タスクは、OpenSSH タイプのプライベート キーをサポートしていません。次のいずれかの方法を使用して、パブリック/プライベート キー ペアを生成します。
注: 生成されたキーが
BEGIN OPENSSH PRIVATE KEY と一緒に表示されないことを確認します。
生成されたパブリック キーがリモート マシンの認証済みキーである場合は、次のいずれかの記事を参照して OpenSSH プライベート形式を変更します。
SSH タスクを構成する場合は、プライベート キーをプレーン テキストで入力する必要があります。キーを変数または入力として保存すると、キーの形式が変更され、パイプライン タスクの実行は失敗します。 |
スクリプトは、リモートとユーザー定義のいずれも可能です。たとえば、スクリプトは次のようになります。 message="Hello World" echo $message このスクリプトは、別のパイプラインが使用できる応答ファイルに出力を書き込みます。 |