REST Resource: projects.locations.deliveryPipelines.automations

Referensi: Otomatisasi

Resource Automation di Cloud Deploy API.

Automation memungkinkan otomatisasi tindakan yang didorong secara manual untuk Pipeline Pengiriman, yang mencakup Promosi rilis di antara Target, Perbaikan peluncuran, dan kemajuan strategi deployment Peluncuran. Tujuan Otomatisasi adalah mengurangi intervensi manual dalam proses continuous delivery.

Representasi 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 (AutomationResourceSelector)
  },
  "rules": [
    {
      object (AutomationRule)
    }
  ]
}
Kolom
name

string

Hanya output. Nama Automation. Formatnya adalah projects/{project}/locations/{location}/deliveryPipelines/{deliveryPipeline}/automations/{automation}.

uid

string

Hanya output. ID unik Automation.

description

string

Opsional. Deskripsi Automation. Panjang maksimal adalah 255 karakter.

createTime

string (Timestamp format)

Hanya output. Waktu saat otomatisasi dibuat.

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan maksimal sembilan digit fraksional. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z".

updateTime

string (Timestamp format)

Hanya output. Waktu otomatisasi diperbarui.

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan maksimal sembilan digit fraksional. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z".

annotations

map (key: string, value: string)

Opsional. Anotasi pengguna. Atribut ini hanya dapat ditetapkan dan digunakan oleh pengguna, bukan oleh Cloud Deploy. Anotasi harus memenuhi batasan berikut:

  • Anotasi adalah pasangan kunci/nilai.
  • Kunci anotasi yang valid memiliki dua segmen: awalan dan nama opsional, yang dipisahkan dengan garis miring (/).
  • Segmen nama wajib diisi dan harus terdiri dari maksimal 63 karakter, yang diawali dan diakhiri dengan karakter alfanumerik ([a-z0-9A-Z]) dengan tanda pisah (-), garis bawah (_), titik (.), dan alfanumerik di antaranya.
  • Awalan bersifat opsional. Jika ditentukan, awalan harus berupa subdomain DNS: serangkaian label DNS yang dipisahkan oleh titik(.), tidak lebih dari 253 karakter, diikuti dengan garis miring (/).

Lihat https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/#syntax-and-character-set untuk detail selengkapnya.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

labels

map (key: string, value: string)

Opsional. Label adalah atribut yang dapat ditetapkan dan digunakan oleh pengguna dan oleh Cloud Deploy. Label harus memenuhi batasan berikut:

  • Kunci dan nilai hanya boleh berisi huruf kecil, karakter numerik, garis bawah, dan tanda hubung.
  • Semua karakter harus menggunakan encoding UTF-8, dan karakter internasional diperbolehkan.
  • Kunci harus diawali dengan huruf kecil atau karakter internasional.
  • Setiap resource dibatasi maksimum 64 label.

Kunci dan nilai juga dibatasi menjadi <= 63 karakter.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

etag

string

Opsional. Etag lemah dari resource Automation. Checksum ini dihitung oleh server berdasarkan nilai kolom lain, dan dapat dikirim pada saat permintaan update dan penghapusan untuk memastikan klien memiliki nilai terbaru sebelum melanjutkan.

suspended

boolean

Opsional. Jika Ditangguhkan, otomatisasi akan dinonaktifkan dari eksekusi.

serviceAccount

string

Wajib. Alamat email akun layanan IAM yang dikelola pengguna yang membuat resource rilis dan peluncuran Cloud Deploy.

selector

object (AutomationResourceSelector)

Wajib. Resource yang dipilih tempat otomatisasi akan diterapkan.

rules[]

object (AutomationRule)

Wajib. Daftar aturan Otomatisasi yang terkait dengan resource Automation. Harus memiliki setidaknya satu aturan dan dibatasi hingga 250 aturan per Pipeline Penayangan. Catatan: urutan aturan di sini tidak sama dengan urutan eksekusi.

AutomationResourceSelector

AutomationResourceSelector berisi informasi untuk memilih resource tempat Otomatisasi akan diterapkan.

Representasi JSON
{
  "targets": [
    {
      object (TargetAttribute)
    }
  ]
}
Kolom
targets[]

object (TargetAttribute)

Berisi atribut tentang target.

TargetAttribute

Berisi kriteria untuk memilih Target.

Representasi JSON
{
  "id": string,
  "labels": {
    string: string,
    ...
  }
}
Kolom
id

string

ID Target. Nilai kolom ini dapat berupa salah satu dari berikut: * Segmen terakhir nama target. Ini hanya memerlukan ID untuk menentukan target mana yang dirujuk ke * "*", semua target di sebuah lokasi.

labels

map (key: string, value: string)

Label target.

Objek yang berisi daftar pasangan "key": value. Contoh: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

AutomationRule

AutomationRule menentukan aktivitas otomatisasi.

Representasi JSON
{

  // Union field rule can be only one of the following:
  "promoteReleaseRule": {
    object (PromoteReleaseRule)
  },
  "advanceRolloutRule": {
    object (AdvanceRolloutRule)
  },
  "repairRolloutRule": {
    object (RepairRolloutRule)
  }
  // End of list of possible types for union field rule.
}
Kolom
Kolom union rule. Konfigurasi aturan Otomatisasi. rule hanya ada berupa salah satu diantara berikut:
promoteReleaseRule

object (PromoteReleaseRule)

Opsional. PromoteReleaseRule akan otomatis mempromosikan rilis dari target saat ini ke target yang ditentukan.

advanceRolloutRule

object (AdvanceRolloutRule)

Opsional. AdvanceRolloutRule akan otomatis melanjutkan Peluncuran yang berhasil.

repairRolloutRule

object (RepairRolloutRule)

Opsional. RepairRolloutRule akan otomatis memperbaiki peluncuran yang gagal.

PromoteReleaseRule

Aturan PromoteRelease akan otomatis mempromosikan rilis dari target saat ini ke target yang ditentukan.

Representasi JSON
{
  "id": string,
  "wait": string,
  "destinationTargetId": string,
  "condition": {
    object (AutomationRuleCondition)
  },
  "destinationPhase": string
}
Kolom
id

string

Wajib. ID aturan. ID ini harus unik di resource Automation yang memiliki aturan ini. Formatnya adalah [a-z]([a-z0-9-]{0,61}[a-z0-9])?.

wait

string (Duration format)

Opsional. Berapa lama rilis perlu dijeda hingga dipromosikan ke target berikutnya.

Durasi dalam detik dengan maksimal sembilan digit pecahan, diakhiri dengan 's'. Contoh: "3.5s".

destinationTargetId

string

Opsional. ID tahap dalam pipeline tempat Release ini di-deploy. Jika tidak ditentukan, tetapkan default ke tahap berikutnya dalam alur promosi. Nilai kolom ini bisa berupa salah satu dari berikut:

  • Segmen terakhir dari nama target. Proses ini hanya memerlukan ID untuk menentukan apakah target adalah salah satu tahap dalam urutan promosi yang ditentukan dalam pipeline.
  • "@next", target berikutnya dalam urutan promosi.
condition

object (AutomationRuleCondition)

Hanya output. Informasi seputar status aturan Otomatisasi.

destinationPhase

string

Opsional. Fase awal peluncuran yang dibuat oleh operasi ini. Setel default ke fase pertama.

AutomationRuleCondition

AutomationRuleCondition berisi kondisi yang relevan dengan aturan Automation.

Representasi JSON
{
  "targetsPresentCondition": {
    object (TargetsPresentCondition)
  }
}
Kolom
targetsPresentCondition

object (TargetsPresentCondition)

Opsional. Detail tentang target yang disebutkan dalam aturan.

AdvanceRolloutRule

Aturan otomatisasi rollouts.advance akan otomatis melanjutkan Peluncuran yang berhasil ke fase berikutnya.

Representasi JSON
{
  "id": string,
  "sourcePhases": [
    string
  ],
  "wait": string,
  "condition": {
    object (AutomationRuleCondition)
  }
}
Kolom
id

string

Wajib. ID aturan. ID ini harus unik di resource Automation yang memiliki aturan ini. Formatnya adalah [a-z]([a-z0-9-]{0,61}[a-z0-9])?.

sourcePhases[]

string

Opsional. Lanjutkan hanya setelah nama fase cocok dengan salah satu dalam daftar. Nilai ini harus terdiri dari huruf kecil, angka, dan tanda hubung, diawali dengan huruf dan diakhiri dengan huruf atau angka, serta memiliki panjang maksimal 63 karakter. Dengan kata lain, ekspresi tersebut harus cocok dengan ekspresi reguler berikut: ^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$.

wait

string (Duration format)

Opsional. Lamanya waktu menunggu setelah peluncuran selesai.

Durasi dalam detik dengan maksimal sembilan digit pecahan, diakhiri dengan 's'. Contoh: "3.5s".

condition

object (AutomationRuleCondition)

Hanya output. Informasi seputar status aturan Otomatisasi.

RepairRolloutRule

Aturan otomatisasi RepairRolloutRule akan otomatis memperbaiki Rollout yang gagal.

Representasi JSON
{
  "id": string,
  "sourcePhases": [
    string
  ],
  "jobs": [
    string
  ],
  "repairModes": [
    {
      object (RepairMode)
    }
  ],
  "condition": {
    object (AutomationRuleCondition)
  }
}
Kolom
id

string

Wajib. ID aturan. ID ini harus unik di resource Automation yang memiliki aturan ini. Formatnya adalah [a-z]([a-z0-9-]{0,61}[a-z0-9])?.

sourcePhases[]

string

Opsional. Fase saat tugas tunduk kepada tindakan perbaikan otomatis jika terjadi kegagalan. Lanjutkan hanya setelah nama fase cocok dengan salah satu yang ada dalam daftar, atau untuk semua fase jika tidak ditentukan. Nilai ini harus terdiri dari huruf kecil, angka, dan tanda hubung, diawali dengan huruf dan diakhiri dengan huruf atau angka, serta memiliki panjang maksimal 63 karakter. Dengan kata lain, ekspresi tersebut harus cocok dengan ekspresi reguler berikut: ^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$.

jobs[]

string

Opsional. Tugas yang perlu diperbaiki. Lanjutkan hanya setelah nama pekerjaan cocok dengan salah satu nama dalam daftar, atau untuk semua pekerjaan jika tidak ditentukan atau kosong. Fase yang menyertakan tugas harus cocok dengan ID fase yang ditentukan dalam sourcePhase. Nilai ini harus terdiri dari huruf kecil, angka, dan tanda hubung, diawali dengan huruf dan diakhiri dengan huruf atau angka, serta memiliki panjang maksimal 63 karakter. Dengan kata lain, ekspresi tersebut harus cocok dengan ekspresi reguler berikut: ^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$.

repairModes[]

object (RepairMode)

Wajib. Menentukan jenis tindakan perbaikan otomatis untuk tugas yang gagal.

condition

object (AutomationRuleCondition)

Hanya output. Informasi seputar status aturan 'Otomatisasi'.

RepairMode

Konfigurasi tindakan perbaikan.

Representasi JSON
{

  // Union field mode can be only one of the following:
  "retry": {
    object (Retry)
  },
  "rollback": {
    object (Rollback)
  }
  // End of list of possible types for union field mode.
}
Kolom
Kolom union mode. Tindakan perbaikan yang akan dilakukan. mode hanya ada berupa salah satu diantara berikut:
retry

object (Retry)

Opsional. Mencoba lagi tugas yang gagal.

rollback

object (Rollback)

Opsional. Me-roll back Rollout.

Coba lagi

Mencoba lagi tugas yang gagal.

Representasi JSON
{
  "attempts": string,
  "wait": string,
  "backoffMode": enum (BackoffMode)
}
Kolom
attempts

string (int64 format)

Wajib. Total jumlah percobaan ulang. Percobaan ulang dilewati jika disetel ke 0; Nilai minimumnya adalah 1, dan nilai maksimumnya adalah 10.

wait

string (Duration format)

Opsional. Lamanya waktu menunggu percobaan ulang pertama. Defaultnya adalah 0, dan nilai maksimum adalah 14 hari.

Durasi dalam detik dengan maksimal sembilan digit pecahan, diakhiri dengan 's'. Contoh: "3.5s".

backoffMode

enum (BackoffMode)

Opsional. Pola cara waktu tunggu akan ditingkatkan. Defaultnya adalah linear. Mode backoff akan diabaikan jika wait adalah 0.

Rollback

Me-roll back Rollout.

Representasi JSON
{
  "destinationPhase": string
}
Kolom
destinationPhase

string

Opsional. ID fase awal untuk Rollout. Jika tidak ditentukan, Rollout akan dimulai pada fase stabil.

Metode

create

Membuat Otomatisasi baru di project dan lokasi tertentu.

delete

Menghapus satu resource Automation.

get

Mendapatkan detail satu Otomatisasi.

list

Mencantumkan Otomatisasi di project dan lokasi tertentu.

patch

Memperbarui parameter untuk satu resource Automation.