- リソース: DeliveryPipeline
- メソッド
リソース: DeliveryPipeline
Cloud Deploy API の DeliveryPipeline
リソース。
DeliveryPipeline
は、Skaffold 構成が進行できるパイプラインを定義します。
JSON 表現 |
---|
{ "name": string, "uid": string, "description": string, "annotations": { string: string, ... }, "labels": { string: string, ... }, "createTime": string, "updateTime": string, "condition": { object ( |
フィールド | |
---|---|
name |
省略可。 |
uid |
出力専用。 |
description |
|
annotations |
ユーザー アノテーション。これらの属性はユーザーのみが設定、使用できます。Cloud Deploy は設定、使用することはできません。
|
labels |
ラベルは、ユーザーと Cloud Deploy の両方が設定して使用できる属性です。ラベルは次の制約を満たしている必要があります。
さらに、キーと値の両方が 128 バイト以下に制限されます。
|
createTime |
出力専用。パイプラインが作成された時刻。 RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: |
updateTime |
出力専用。パイプラインが最後に更新された時刻。 RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: |
condition |
出力専用。デリバリー パイプラインの状態に関する情報。 |
etag |
このチェックサムは、他のフィールドの値に基づいてサーバーによって計算されて、更新リクエストと削除リクエストで送信され、続行する前にクライアントが最新の値を持っていることを確認できます。 |
suspended |
停止した場合、新しいリリースやロールアウトは作成できませんが、進行中のリリースは完了します。 |
共用体フィールド pipeline 。DeliveryPipeline の順序設定。pipeline は次のいずれかになります。 |
|
serialPipeline |
SerialPipeline は、 |
SerialPipeline
SerialPipeline は、DeliveryPipeline
の連続する一連のステージを定義します。
JSON 表現 |
---|
{
"stages": [
{
object ( |
フィールド | |
---|---|
stages[] |
各ステージが |
ステージ
ステージは、デプロイ先の場所を指定します。
JSON 表現 |
---|
{ "targetId": string, "profiles": [ string ], "strategy": { object ( |
フィールド | |
---|---|
targetId |
このステージが指す targetId。このフィールドは、ターゲット名の最後のセグメントのみを参照します。たとえば、このフィールドは |
profiles[] |
このステージの |
strategy |
省略可。このステージの |
deployParameters[] |
省略可。このステージでターゲットに使用するデプロイ パラメータ。 |
戦略
戦略にはデプロイ戦略の情報が含まれます。
JSON 表現 |
---|
{ // Union field |
フィールド | |
---|---|
共用体フィールド deployment_strategy 。デプロイ戦略の詳細。deployment_strategy は次のいずれかになります。 |
|
standard |
標準のデプロイ戦略では、単一のデプロイを実行してデプロイの検証を行えます。 |
canary |
カナリア デプロイ戦略では、ターゲットに対して漸進的に実行されるパーセンテージ ベースのデプロイを行います。 |
スタンダード
Standard は標準のデプロイ戦略を表します。
JSON 表現 |
---|
{ "verify": boolean, "predeploy": { object ( |
フィールド | |
---|---|
verify |
デプロイを検証するかどうか。 |
predeploy |
省略可。デプロイ前ジョブの構成。構成されていない場合、デプロイ前ジョブは存在しません。 |
postdeploy |
省略可。デプロイ後ジョブの構成。構成されていない場合、デプロイ後ジョブは存在しません。 |
デプロイ前
Predeploy には、デプロイ前ジョブの構成情報が含まれています。
JSON 表現 |
---|
{ "actions": [ string ] } |
フィールド | |
---|---|
actions[] |
省略可。デプロイ前ジョブの実行中に呼び出す一連の Skaffold カスタム アクション。 |
デプロイ後
Postdeploy には、デプロイ後ジョブの構成情報が含まれます。
JSON 表現 |
---|
{ "actions": [ string ] } |
フィールド | |
---|---|
actions[] |
省略可。デプロイ後ジョブの実行中に呼び出す一連の Skaffold カスタム アクション。 |
Canary
Canary は、カナリア デプロイ戦略を表します。
JSON 表現 |
---|
{ "runtimeConfig": { object ( |
フィールド | |
---|---|
runtimeConfig |
省略可。デプロイ戦略のランタイム固有の構成。ランタイム構成は、Cloud Deploy がトラフィックを分割してプログレッシブ デプロイを有効にする方法を決定するために使用されます。 |
共用体フィールド mode 。カナリア デプロイ戦略に使用するモード。mode は次のいずれかになります。 |
|
canaryDeployment |
Target のプログレッシブ ベースのデプロイを構成します。 |
customCanaryDeployment |
Target のプログレッシブ ベースのデプロイを構成しますが、フェーズレベルでカスタマイズできます。フェーズは、各デプロイの割合を表します。 |
RuntimeConfig
RuntimeConfig には、デプロイ戦略のためのランタイム固有の構成が含まれています。
JSON 表現 |
---|
{ // Union field |
フィールド | |
---|---|
共用体フィールド runtime_config 。ランタイム構成の詳細。runtime_config は次のいずれかになります。 |
|
kubernetes |
Kubernetes ランタイム構成。 |
cloudRun |
Cloud Run ランタイム構成。 |
KubernetesConfig
KubernetesConfig には Kubernetes ランタイム構成が含まれています。
JSON 表現 |
---|
{ // Union field |
フィールド | |
---|---|
共用体フィールド service_definition 。サービス定義の構成。service_definition は次のいずれかになります。 |
|
gatewayServiceMesh |
Kubernetes Gateway API サービス メッシュの構成。 |
serviceNetworking |
Kubernetes Service のネットワーク構成。 |
GatewayServiceMesh
Kubernetes Gateway API サービス メッシュの構成に関する情報。
JSON 表現 |
---|
{ "httpRoute": string, "service": string, "deployment": string, "routeUpdateWaitTime": string, "stableCutbackDuration": string } |
フィールド | |
---|---|
httpRoute |
必須。Gateway API HTTPRoute の名前。 |
service |
必須。Kubernetes Service の名前。 |
deployment |
必須。指定された HTTPRoute と Service によってトラフィックが管理される Kubernetes Deployment の名前。 |
routeUpdateWaitTime |
省略可。ルートの更新が反映されるまでの待機時間。構成可能な最大時間は 3 時間(秒単位で指定)です。指定しない場合、待機時間はありません。
|
stableCutbackDuration |
省略可。安定フェーズのデプロイ中に、カナリア サービスから元の Service にトラフィックを戻す時間。指定する場合は 15~3600 秒にする必要があります。指定しない場合は、カットバック時間はありません。
|
ServiceNetworking
Kubernetes Service のネットワーク構成に関する情報。
JSON 表現 |
---|
{ "service": string, "deployment": string, "disablePodOverprovisioning": boolean } |
フィールド | |
---|---|
service |
必須。Kubernetes Service の名前。 |
deployment |
必須。指定された Service によってトラフィックが管理される Kubernetes Deployment の名前。 |
disablePodOverprovisioning |
省略可。Pod のオーバープロビジョニングを無効にするかどうか。Pod のオーバー プロビジョニングが無効になっている場合、Cloud Deploy は、デプロイ戦略に使用される Pod の合計数を、クラスタのデプロイメントにある Pod の数に制限します。 |
CloudRunConfig
CloudRunConfig には、Cloud Run ランタイム構成が含まれています。
JSON 表現 |
---|
{ "automaticTrafficControl": boolean, "canaryRevisionTags": [ string ], "priorRevisionTags": [ string ], "stableRevisionTags": [ string ] } |
フィールド | |
---|---|
automaticTrafficControl |
トラフィック分割を容易にするために、Cloud Deploy がユーザーに代わって Cloud Run サービスのトラフィック スタンザを更新するかどうか。これは、CanaryDeployments の場合は true である必要がありますが、CustomCanaryDeployments の場合はオプションです。 |
canaryRevisionTags[] |
省略可。カナリア フェーズの進行中にカナリア リビジョンに追加されるタグのリスト。 |
priorRevisionTags[] |
省略可。カナリア フェーズの進行中に前のリビジョンに追加されるタグのリスト。 |
stableRevisionTags[] |
省略可。安定フェーズが適用されるときに最終的な安定版に追加されるタグのリスト。 |
CanaryDeployment
CanaryDeployment はカナリア デプロイ構成を表します。
JSON 表現 |
---|
{ "percentages": [ integer ], "verify": boolean, "predeploy": { object ( |
フィールド | |
---|---|
percentages[] |
必須。 |
verify |
各パーセンテージ デプロイ後に検証テストを実行するかどうか。 |
predeploy |
省略可。最初のフェーズのデプロイ前ジョブの構成。構成されていない場合、このフェーズのデプロイ前ジョブはありません。 |
postdeploy |
省略可。最後のフェーズのデプロイ後ジョブの構成。構成されていない場合、このフェーズのデプロイ後ジョブはありません。 |
CustomCanaryDeployment
CustomCanaryDeployment は、カスタム カナリア デプロイの構成を表します。
JSON 表現 |
---|
{
"phaseConfigs": [
{
object ( |
フィールド | |
---|---|
phaseConfigs[] |
必須。カナリア デプロイの各フェーズの構成(実行順序)。 |
PhaseConfig
PhaseConfig は、カスタム カナリア デプロイのフェーズの構成を表します。
JSON 表現 |
---|
{ "phaseId": string, "percentage": integer, "profiles": [ string ], "verify": boolean, "predeploy": { object ( |
フィールド | |
---|---|
phaseId |
必須。 |
percentage |
必須。フェーズのデプロイの割合。 |
profiles[] |
このフェーズのマニフェストをレンダリングするときに使用する Skaffold プロファイル。 |
verify |
デプロイ後に検証テストを実行するかどうか。 |
predeploy |
省略可。このフェーズのデプロイ前ジョブの構成。構成されていない場合、このフェーズのデプロイ前ジョブはありません。 |
postdeploy |
省略可。このフェーズのデプロイ後ジョブの構成。構成されていない場合、このフェーズのデプロイ後ジョブはありません。 |
DeployParameters
DeployParameters には、デプロイ パラメータの情報が含まれます。
JSON 表現 |
---|
{ "values": { string: string, ... }, "matchTargetLabels": { string: string, ... } } |
フィールド | |
---|---|
values |
必須。値は、Key-Value ペアのデプロイ パラメータです。
|
matchTargetLabels |
省略可。デプロイ パラメータは、一致ラベルを持つターゲットに適用されます。指定しない場合、デプロイ パラメータはすべてのターゲット(マルチターゲットの子ターゲットを含む)に適用されます。
|
PipelineCondition
PipelineCondition には、デリバリー パイプラインに関連するすべての条件が含まれます。
JSON 表現 |
---|
{ "pipelineReadyCondition": { object ( |
フィールド | |
---|---|
pipelineReadyCondition |
パイプラインの全体のステータスの詳細。 |
targetsPresentCondition |
パイプラインで列挙されるターゲットの詳細。 |
targetsTypeCondition |
パイプラインに列挙されているターゲットが同じ型であるかどうかの詳細。 |
PipelineReadyCondition
PipelineReadyCondition には、パイプラインのステータスに関する情報が含まれます。
JSON 表現 |
---|
{ "status": boolean, "updateTime": string } |
フィールド | |
---|---|
status |
パイプラインが有効な状態の場合は true です。それ以外の場合は、 |
updateTime |
条件が最後に更新された時刻。 RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: |
TargetsTypeCondition
TargetsTypeCondition には、デリバリー パイプラインで定義されたターゲットが同じタイプであるかどうかに関する情報が含まれます。
JSON 表現 |
---|
{ "status": boolean, "errorDetails": string } |
フィールド | |
---|---|
status |
ターゲットがすべて比較可能な型の場合は true です。たとえば、すべてのターゲットが GKE クラスタの場合は true です。ターゲットに Cloud Run ターゲットと GKE クラスタがある場合は false になります。 |
errorDetails |
人が読めるエラー メッセージ。 |
メソッド |
|
---|---|
|
指定されたプロジェクトとロケーションで新しい DeliveryPipeline を作成します。 |
|
単一の DeliveryPipeline を削除します。 |
|
1 つの DeliveryPipeline の詳細情報を取得します。 |
|
リソースのアクセス制御ポリシーを取得します。 |
|
指定されたプロジェクトとロケーションの DeliveryPipelines を一覧表示します。 |
|
単一の DeliveryPipeline のパラメータを更新します。 |
|
指定したターゲットをロールバックする Rollout を作成します。 |
|
指定したリソースにアクセス制御ポリシーを設定します。 |
|
指定されたリソースに対して呼び出し元が持っている権限を返します。 |