리소스: Automation
Cloud Deploy API의 Automation
리소스입니다.
Automation
를 사용하면 Targets 간 Release 승격, Rollout 복구, Rollout 배포 전략 진행을 포함하여 배포 파이프라인의 수동 기반 작업을 자동화할 수 있습니다. Automation 목적은 지속적 배포 프로세스에서 수동 개입을 줄이는 것입니다.
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 리소스와 연결된 Automation 규칙 목록입니다. 규칙이 최소 1개 이상 있고 배포 파이프라인당 250개로 제한되어야 합니다. 참고: 여기서 규칙 순서는 실행 순서와 다릅니다. |
AutomationResourceSelector
AutomationResourceSelector에는 Automation을 적용할 리소스를 선택하기 위한 정보가 포함되어 있습니다.
JSON 표현 |
---|
{
"targets": [
{
object ( |
필드 | |
---|---|
targets[] |
대상에 대한 속성을 포함합니다. |
TargetAttribute
Targets를 선택하기 위한 기준을 포함합니다.
JSON 표현 |
---|
{ "id": string, "labels": { string: string, ... } } |
필드 | |
---|---|
id |
|
labels |
대상 라벨입니다.
|
AutomationRule
AutomationRule
은 자동화 활동을 정의합니다.
JSON 표현 |
---|
{ // Union field |
필드 | |
---|---|
통합 필드 rule . Automation 규칙 구성입니다. rule 는 다음 중 하나여야 합니다. |
|
promoteReleaseRule |
선택사항입니다. |
advanceRolloutRule |
선택사항입니다. |
repairRolloutRule |
선택사항입니다. |
PromoteReleaseRule
PromoteRelease
규칙은 출시 버전을 자동으로 현재 대상에서 지정된 대상으로 승격합니다.
JSON 표현 |
---|
{
"id": string,
"wait": string,
"destinationTargetId": string,
"condition": {
object ( |
필드 | |
---|---|
id |
필수 항목입니다. 규칙 ID입니다. 이 ID는 이 규칙이 속한 |
wait |
선택사항입니다. 다음 대상으로 승격될 때까지 출시 버전을 일시중지해야 하는 기간입니다. 소수점 아래가 최대 9자리까지이고 ' |
destinationTargetId |
선택사항입니다. 이
|
condition |
출력 전용입니다. Automation 규칙 상태에 대한 정보입니다. |
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 |
선택사항입니다. 출시가 완료된 후 대기하는 시간입니다. 소수점 아래가 최대 9자리까지이고 ' |
condition |
출력 전용입니다. Automation 규칙 상태에 대한 정보입니다. |
RepairRolloutRule
RepairRolloutRule
자동화 규칙은 실패한 Rollout
을 자동으로 복구합니다.
JSON 표현 |
---|
{ "id": string, "sourcePhases": [ string ], "jobs": [ string ], "repairModes": [ { object ( |
필드 | |
---|---|
id |
필수 항목입니다. 규칙 ID입니다. 이 ID는 이 규칙이 속한 |
sourcePhases[] |
선택사항입니다. 오류 시 자동 복구 작업이 적용되는 작업 내의 단계입니다. 단계 이름이 목록에 있는 이름과 일치한 후에만 진행되거나 지정되지 않으면 모든 단계에 대해 진행됩니다. 이 값은 소문자, 숫자, 하이픈으로 구성되고 문자로 시작하여 문자나 숫자로 끝나야 하며 최대 길이는 63자(영문 기준)입니다. 즉, |
jobs[] |
선택사항입니다. 복구할 작업입니다. 작업 이름이 목록에 있는 이름과 일치한 후에만 진행되거나 지정되지 않거나 비어 있으면 모든 작업에 대해 진행됩니다. 작업이 포함된 단계는 |
repairModes[] |
필수 항목입니다. 실패한 작업의 자동 복구 작업 유형을 정의합니다. |
condition |
출력 전용입니다. 'Automation' 규칙 상태에 대한 정보입니다. |
RepairMode
복구 작업 구성입니다.
JSON 표현 |
---|
{ // Union field |
필드 | |
---|---|
통합 필드 mode . 수행할 복구 작업입니다. mode 는 다음 중 하나여야 합니다. |
|
retry |
선택사항입니다. 실패한 작업을 재시도합니다. |
rollback |
선택사항입니다. |
재시도
실패한 작업을 재시도합니다.
JSON 표현 |
---|
{
"attempts": string,
"wait": string,
"backoffMode": enum ( |
필드 | |
---|---|
attempts |
필수 항목입니다. 총 재시도 횟수입니다. 0으로 설정되면 재시도를 건너뜁니다. 최솟값은 1이며 최댓값은 10입니다. |
wait |
선택사항입니다. 첫 번째 재시도를 기다리는 시간입니다. 기본값은 0이고 최댓값은 14d입니다. 소수점 아래가 최대 9자리까지이고 ' |
backoffMode |
선택사항입니다. 대기 시간이 증가하는 패턴입니다. 기본값은 선형입니다. |
롤백
Rollout
을 롤백합니다.
JSON 표현 |
---|
{ "destinationPhase": string } |
필드 | |
---|---|
destinationPhase |
선택사항입니다. |
방법 |
|
---|---|
|
특정 프로젝트와 위치에 새 Automation을 만듭니다. |
|
단일 Automation 리소스를 삭제합니다. |
|
단일 Automation의 세부정보를 가져옵니다. |
|
특정 프로젝트와 위치의 Automation을 나열합니다. |
|
단일 Automation 리소스 매개변수를 업데이트합니다. |