DevOps 管理者または開発者は、カスタム スクリプトを作成して、Automation Pipelinesの機能を拡張できます。
カスタム スクリプトを使用すると、Automation Pipelinesを独自の継続的インテグレーション (CI) および継続的デリバリ (CD) ツールと API に統合して、アプリケーションをビルド、テスト、および展開できます。カスタム スクリプトは、アプリケーション API を公開しない場合に特に便利です。
カスタム スクリプトでは、ビルド、テスト、展開の各ツールをAutomation Pipelinesと統合するために必要なことをほぼすべて実行できます。たとえば、スクリプトでパイプラインのワークスペースを利用することで、アプリケーションをビルドしてテストする継続的インテグレーション タスクと、アプリケーションを展開する継続的デリバリ タスクをサポートできます。パイプラインの終了時にスラックにメッセージを送信するなど、さまざまなことができます。
Automation Pipelines パイプライン ワークスペースでは、継続的インテグレーション タスクとカスタム タスクで Docker と Kubernetes がサポートされます。
ワークスペースの構成に関する詳細については、パイプライン ワークスペースの構成を参照してください。
カスタム スクリプトを記述するには、サポートされている言語のいずれかを使用します。スクリプトにビジネス ロジックを含めて、入力と出力を定義します。出力タイプには、数値、文字列、テキスト、およびパスワードを含めることができます。異なるビジネス ロジック、入力、および出力を使用して、複数のバージョンのカスタム スクリプトを作成できます。
作成したスクリプトは、Automation Pipelinesインスタンスに保存されます。YAML コードをインポートしてカスタム統合を作成したり、スクリプトを YAML ファイルとしてエクスポートして別の Automation Pipelinesインスタンスで使用したりできます。
カスタム タスクで、パイプラインによってスクリプトのリリース バージョンを実行します。複数のリリース バージョンがある場合は、そのうちの 1 つを最新として設定することで、カスタム タスクを選択したときにそのバージョンに [latest -->] と表示されるようになります。
パイプラインでカスタム統合が使用されている場合、カスタム統合を削除しようとすると、エラー メッセージが表示され、削除できないことが示されます。
カスタム統合を削除すると、カスタム スクリプトのすべてのバージョンが削除されます。既存のパイプラインに、そのスクリプトのいずれかのバージョンを使用するカスタム タスクがある場合、パイプラインは失敗します。既存のパイプラインが失敗しないようにするために、不要になったスクリプトのバージョンを廃止して、取り消すことができます。そのバージョンを使用しているパイプラインがない場合は、削除できます。
操作 | 操作の詳細情報 |
---|---|
パイプラインにカスタム タスクを追加します。 |
カスタム タスク:
|
カスタム タスクでスクリプトを選択します。 |
スクリプトで入力および出力プロパティを宣言します。 |
パイプラインを保存し、有効にして実行します。 |
パイプラインを実行すると、カスタム タスクによって指定されたスクリプトのバージョンが呼び出され、そこでビジネス ロジックが実行されます。これにより、ビルド、テスト、展開の各ツールが Automation Pipelinesと統合されます。 |
パイプラインの実行後、実行結果を確認します。 |
想定どおりの結果であるかを確認します。 |
カスタム統合バージョンを呼び出すカスタム タスクを使用する場合は、パイプラインの [ワークスペース] タブで、カスタム環境変数を名前と値のペアとして指定できます。CI タスクを実行してイメージを展開するワークスペース コンテナがビルダー イメージによって作成されると、そのコンテナに Automation Pipelinesが環境変数を渡します。
たとえば、Automation Pipelinesインスタンスが Web プロキシを必要とする場合に、Docker ホストを使用してカスタム統合のためのコンテナを作成すると、Automation Pipelines がパイプラインを実行し、Web プロキシ設定変数をそのコンテナに渡します。
名前 | 値 |
---|---|
HTTPS_PROXY | http://10.0.0.255:1234 |
https_proxy | http://10.0.0.255:1234 |
NO_PROXY | 10.0.0.32, *.dept.vsphere.local |
no_proxy | 10.0.0.32, *.dept.vsphere.local |
HTTP_PROXY | http://10.0.0.254:1234 |
http_proxy | http://10.0.0.254:1234 |
PATH | /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
このように、名前と値のペアがユーザー インターフェイスに表示されます。
この例では、Automation Pipelinesをスラック インスタンスに接続してメッセージをスラック チャネルにポストするカスタム統合を作成します。
前提条件
- カスタム スクリプトを記述する場合は、Python 2、Python 3、Node.js のいずれかの言語か、Bash、sh、zsh のいずれかのシェル言語を使用できることを確認してください。
- インストールされた Node.js または Python のランタイムを使用して、コンテナ イメージを生成します。
手順
結果
完了です。Automation Pipelinesをスラック インスタンスに接続してメッセージをスラック チャネルにポストするカスタム統合スクリプトを作成しました。
次のタスク
引き続きカスタム統合を作成します。パイプラインでカスタム タスクを使用するためのもので、Automation Pipelinesの機能を拡張してソフトウェア リリース ライフサイクルを自動化できます。