Delivery Pipeline に関する FAQ
Delivery Pipeline の使用に関する、よくある質問に対する回答を示します。
パイプライン・ジョブ間で成果物を渡すにはどうしたらよいですか?
ステージが実行されると、ステージの入力内容がステージ内の各ジョブに渡されます。 各ジョブにはクリーンなコンテナーが与えられて、それがジョブの実行場所となります。 そのため、ステージ内のジョブ間で相互に成果物を渡すことはできません。 ジョブ間で成果物を渡すには、ジョブを 2 つのステージに分離し、最初のステージのジョブの出力を 2 番目のステージの入力として使用します。
パイプライン・ジョブについて詳しくは、ジョブを参照してください。
パイプライン・ジョブを実行できる最大時間制限はありますか?
クラシック・パイプライン・ジョブと Tekton パイプライン実行の長さは、パイプライン実行が行われる Private Workers によって決定されます。 IBM 管理対象 workers の場合、この値は 6 時間です。 自己管理対象 Delivery Pipeline Private Workers では、パイプライン実行のデフォルトの時間の長さは 24 時間です。
パイプライン・セキュア・プロパティーはどれほど安全ですか?
パイプライン・セキュア・プロパティーは、AES-128 を使用して暗号化され、パイプライン・スクリプトに渡される直前に復号されます。 これらのプロパティーは、プロパティーのユーザー・インターフェースおよびパイプライン・ログ・ファイルの中で、アスタリスクを使用してマスクされます。 パイプライン・ジョブのログ・ファイルにデータが書き込まれる前に、パイプライン・セキュア・プロパティーのすべての値と完全に一致するものがあるかどうかスキャンされます。 一致が見つかった場合、アスタリスクを使用してマスクされます。 完全に一致するものだけがマスクされるため、セキュア・プロパティーとログ・ファイルを扱う際には注意してください。
パイプライン・ジョブで使用される環境変数に関する情報を見つける方法を教えてください。
パイプライン環境においてデフォルトで使用可能な環境プロパティーとリソースについて詳しくは、環境プロパティーとリソースを参照してください。
IBM Cloud CLI を使用してパイプライン・ステージを実行することはできますか?
IBM Cloud Developer Tools CLI Plug-in を使用してパイプライン・ステージを実行できます。
-
コマンド・ラインから、以下のコマンドを実行してパイプラインを手動で開始します。
ibmcloud dev pipeline-run pipelineID --stage-id stageID
pipeline-run
コマンドについて詳しくは、pipeline-run を参照してください。
デリバリー・パイプラインの yaml ファイルをダウンロードできますか?
パイプライン URL に /yaml
を追加することで、パイプライン全体の定義をエクスポートすることができます。 パイプライン全体の定義のエクスポートについて詳しくは、Continuous Delivery パイプライン・データの変更、エクスポート、および削除を参照してください。
Terraform を使用してデリバリー・パイプラインを管理できますか?
Terraform を使用して、Tekton パイプライン、定義、プロパティー、トリガー、およびトリガー・プロパティーをプロビジョン、更新、およびプロビジョン解除できます。 Tekton パイプラインでの Terraform の使用について詳しくは、 Tekton パイプラインの操作、および ibm_cd_tekton_pipeline
リソースの資料を参照してください。
Terraform を使用して、Tekton パイプラインの実行をトリガーしたり、Tekton パイプラインの実行とログを管理したりすることはできません。 これらのタスクは、Tekton パイプライン API を使用するか、コンソールを使用して実行できます。
Terraform を使用してクラシック・パイプラインを管理することはできません。 クラシック・パイプラインは、コンソールを使用することによってのみ管理できます。
API を使用してデリバリー・パイプラインを管理できますか?
HTTP API または選択したプログラミング言語 SDK を使用して、Tekton パイプライン、定義、プロパティー、トリガー、およびトリガー・プロパティーをプロビジョン、更新、およびプロビジョン解除できます。 API と SDK を使用して、Tekton パイプラインの実行をトリガーしたり、Tekton パイプラインの実行とログを管理したりすることもできます。 API で Tekton パイプラインを使用する方法について詳しくは、 Tekton パイプラインの操作、および CD Tekton パイプライン API 資料を参照してください。
API を使用してクラシック・パイプラインを管理することはできません。 クラシック・パイプラインは、コンソールを使用することによってのみ管理できます。
Terraform での ibm_cd_toolchain_tool_pipeline
と ibm_cd_tekton_pipeline
の違いは何ですか?
ibm_cd_tekton_pipeline
リソースは、Tekton パイプラインを表します。 ibm_cd_toolchain_tool_pipeline
リソースは、Tekton パイプラインをツールチェーンにバインドするツール統合を表します。 Continuous Delivery ツールチェーン・プラットフォームのアーキテクチャーでは、ツール統合は、それらが表すツールとは異なるエンティティーです。 ツール統合は、ツールチェーンによって所有され、ツールを参照し、ツールがその機能をツールチェーンに提供する方法を管理します。
Tekton パイプラインを含むツールチェーンを構成するには、以下の 3 つのリソースを宣言する必要があります。
- ツールチェーンになっている
ibm_cd_toolchain
リソース。 ibm_cd_toolchain_tool_pipeline
リソース。これは、Tekton パイプラインをツールチェーンにバインドするツール統合です。- Tekton パイプラインである
ibm_cd_tekton_pipeline
・リソース。
以下の例は、これらのリソースを宣言することによって構成されるツールチェーンを示しています。
data "ibm_resource_group" "group" {
name = "default"
}
resource "ibm_cd_toolchain" "cd_toolchain" {
name = "my toolchain"
resource_group_id = data.ibm_resource_group.group.id
}
resource "ibm_cd_toolchain_tool_pipeline" "cd_pipeline_integration" {
toolchain_id = ibm_cd_toolchain.cd_toolchain.id
parameters {
name = "my pipeline integration"
}
}
resource "ibm_cd_tekton_pipeline" "cd_pipeline" {
pipeline_id = ibm_cd_toolchain_tool_pipeline.cd_pipeline_integration.tool_id
worker {
id = "public"
}
}