リソース: Automation
Cloud Deploy API の Automation
リソース。
Automation
を使用すると、Target 間での Release プロモーション、Rollout の修正、Rollout のデプロイ戦略の推進など、デリバリー パイプラインでの手動主導のアクションの自動化が可能になります。自動化の目的は、継続的デリバリー プロセスにおける手動による介入を減らすことです。
JSON 表現 |
---|
{ "name": string, "uid": string, "description": string, "createTime": string, "updateTime": string, "annotations": { string: string, ... }, "labels": { string: string, ... }, "etag": string, "suspended": boolean, "serviceAccount": string, "selector": { object ( |
フィールド | |
---|---|
name |
出力専用。 |
uid |
出力専用。 |
description |
省略可。 |
createTime |
出力専用。自動化が作成された時刻。 RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: |
updateTime |
出力専用。自動化が更新された時刻。 RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: |
annotations |
省略可。ユーザー アノテーション。これらの属性はユーザーのみが設定、使用できます。Cloud Deploy は設定、使用することはできません。アノテーションは次の制約を満たす必要があります。
詳細については、https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set をご覧ください。
|
labels |
省略可。ラベルは、ユーザーと Cloud Deploy の両方が設定して使用できる属性です。ラベルは次の制約を満たしている必要があります。
さらに、キーと値の両方が 63 文字以下に制限されます。
|
etag |
省略可。 |
suspended |
省略可。一時停止すると、自動化は実行されなくなります。 |
serviceAccount |
必須。Cloud Deploy のリリースとロールアウトのリソースを作成するユーザー管理の IAM サービス アカウントのメールアドレス。 |
selector |
必須。自動化が適用される選択されたリソース。 |
rules[] |
必須。Automation リソースに関連付けられた自動化ルールのリスト。少なくとも 1 つのルールが必要です。デリバリー パイプラインあたり 250 個のルールに制限されています。注: ここでのルールの順序は、実行順序と同じではありません。 |
AutomationResourceSelector
AutomationResourceSelector には、Automation を適用するリソースを選択するための情報が含まれます。
JSON 表現 |
---|
{
"targets": [
{
object ( |
フィールド | |
---|---|
targets[] |
ターゲットに関する属性が含まれています。 |
TargetAttribute
ターゲットを選択するための条件が含まれています。
JSON 表現 |
---|
{ "id": string, "labels": { string: string, ... } } |
フィールド | |
---|---|
id |
|
labels |
ターゲット ラベル。
|
AutomationRule
AutomationRule
は、自動化アクティビティを定義します。
JSON 表現 |
---|
{ // Union field |
フィールド | |
---|---|
共用体フィールド rule 。自動化ルールの構成。rule は次のいずれかになります。 |
|
promoteReleaseRule |
省略可。 |
advanceRolloutRule |
省略可。 |
repairRolloutRule |
省略可。 |
PromoteReleaseRule
PromoteRelease
ルールは、現在のターゲットから指定されたターゲットにリリースを自動的にプロモートします。
JSON 表現 |
---|
{
"id": string,
"wait": string,
"destinationTargetId": string,
"condition": {
object ( |
フィールド | |
---|---|
id |
必須。ルールの ID。この ID は、このルールが属する |
wait |
省略可。次のターゲットにプロモートされるまでリリースを一時停止しておく期間。
|
destinationTargetId |
省略可。この
|
condition |
出力専用。自動化ルールの状態に関する情報。 |
destinationPhase |
省略可。このオペレーションによって作成されたロールアウトの開始フェーズ。デフォルトは最初のフェーズです。 |
AutomationRuleCondition
AutomationRuleCondition
には、Automation
ルールに関連する条件が含まれます。
JSON 表現 |
---|
{
"targetsPresentCondition": {
object ( |
フィールド | |
---|---|
targetsPresentCondition |
省略可。ルールで列挙されるターゲットの詳細。 |
AdvanceRolloutRule
rollouts.advance
自動化ルールは、成功した Rollout を次のフェーズに自動的に進めます。
JSON 表現 |
---|
{
"id": string,
"sourcePhases": [
string
],
"wait": string,
"condition": {
object ( |
フィールド | |
---|---|
id |
必須。ルールの ID。この ID は、このルールが属する |
sourcePhases[] |
省略可。フェーズ名がリスト内のいずれかに一致した場合にのみ続行します。この値は、英小文字、数字、ハイフンで構成する必要があります。また、先頭は英字、末尾は英字または数字にします。最大長は 63 文字です。つまり、次の正規表現に一致する必要があります: |
wait |
省略可。ロールアウト終了後の待機時間。
|
condition |
出力専用。自動化ルールの状態に関する情報。 |
RepairRolloutRule
RepairRolloutRule
自動化ルールは、失敗した Rollout
を自動的に修復します。
JSON 表現 |
---|
{ "id": string, "sourcePhases": [ string ], "jobs": [ string ], "repairModes": [ { object ( |
フィールド | |
---|---|
id |
必須。ルールの ID。この ID は、このルールが属する |
sourcePhases[] |
省略可。ジョブが失敗した場合に自動修復アクションの対象となるフェーズ。フェーズ名がリスト内のいずれかに一致した場合にのみ続行します。指定されていない場合はすべてのフェーズが対象になります。この値は、英小文字、数字、ハイフンで構成する必要があります。また、先頭は英字、末尾は英字または数字にします。最大長は 63 文字です。つまり、次の正規表現に一致する必要があります: |
jobs[] |
省略可。修復するジョブ。ジョブ名がリスト内のいずれかに一致した場合にのみ続行します。指定されていないか空の場合はすべてのジョブが対象になります。ジョブを含むフェーズは、 |
repairModes[] |
必須。失敗したジョブの自動修復アクションのタイプを定義します。 |
condition |
出力専用。「自動化」ルールの状態に関する情報。 |
RepairMode
修復アクションの構成。
JSON 表現 |
---|
{ // Union field |
フィールド | |
---|---|
共用体フィールド mode 。実施する修復アクション。mode は次のいずれかになります。 |
|
retry |
省略可。失敗したジョブを再試行します。 |
rollback |
省略可。 |
再試行
失敗したジョブを再試行します。
JSON 表現 |
---|
{
"attempts": string,
"wait": string,
"backoffMode": enum ( |
フィールド | |
---|---|
attempts |
必須。再試行の合計回数。0 に設定すると、再試行はスキップされます。最小値は 1、最大値は 10 です。 |
wait |
省略可。最初の再試行までの待機時間。デフォルトは 0、最大値は 14d です。
|
backoffMode |
省略可。待機時間をどのように増やすかのパターン。デフォルトは線形です。 |
ロールバック
Rollout
をロールバックします。
JSON 表現 |
---|
{ "destinationPhase": string } |
フィールド | |
---|---|
destinationPhase |
省略可。 |
メソッド |
|
---|---|
|
指定されたプロジェクトとロケーションで新しい Automation を作成します。 |
|
1 つの Automation リソースを削除します。 |
|
1 つの Automation の詳細情報を取得します。 |
|
指定されたプロジェクトとロケーションの Automation を一覧表示します。 |
|
単一の Automation のパラメータを更新します。 |