Dokumen ini adalah ringkasan otomatisasi deployment.
Anda dapat mengonfigurasi Cloud Deploy untuk otomatis melakukan tugas terkait rilis dan terkait peluncuran untuk pipeline pengiriman tertentu. Tugas ini mencakup promosi rilis dan kemajuan fase.
Pelajari lebih lanjut resource yang digunakan untuk otomatisasi rilis di Cloud Deploy.
Pelajari lebih lanjut cara menyiapkan aturan yang menentukan cara kerja otomatisasi ini.
Tindakan yang dapat Anda otomatisasi
Di Cloud Deploy, Anda dapat mengotomatiskan aktivitas rilis dan peluncuran berikut:
Mempromosikan rilis secara otomatis
Anda dapat mengonfigurasi Cloud Deploy untuk mempromosikan rilis secara otomatis setelah berhasil diluncurkan ke target. Misalnya, jika Anda memiliki tiga target,
dev
,staging
, danprod
, Anda dapat mengonfigurasi otomatisasi sehingga rilis dipromosikan keprod
, tanpa interaksi manusia lebih lanjut, setelah deployment berhasil kestaging
. Anda juga dapat menentukan waktu penundaan.Mempromosikan rilis sesuai jadwal
Anda dapat mengonfigurasi Cloud Deploy untuk mempromosikan rilis sesuai dengan jadwal cron.
-
Anda dapat mengonfigurasi Cloud Deploy untuk melanjutkan peluncuran dari satu fase ke fase berikutnya, setelah peluncuran berhasil ke target sebelumnya. Kemajuan fase hanya tersedia di target yang menggunakan strategi deployment canary.
-
Anda dapat mengonfigurasi Cloud Deploy untuk mencoba kembali peluncuran yang gagal secara otomatis. Hal ini mencakup percobaan ulang peluncuran beberapa kali sesuai jumlah yang ditentukan, dan rollback otomatis jika jumlah percobaan ulang tersebut gagal.
Lihat Aturan otomatisasi untuk mengetahui informasi selengkapnya tentang tindakan ini, dan cara mengonfigurasinya.
Bagaimana cara kerja otomatisasi?
Setiap otomatisasi terikat dengan pipeline pengiriman yang digunakannya. Anda tidak dapat membagikan otomatisasi di beberapa pipeline pengiriman.
Berikut adalah proses umum untuk konfigurasi dan eksekusi otomatisasi:
Anda mengonfigurasi Otomatisasi
Otomatisasi ini dikaitkan dengan satu pipeline pengiriman.
Anda mendaftarkan otomatisasi tersebut menggunakan
gcloud deploy apply
.Tindakan ini akan membuat Referensi otomatisasi.
Anda memanggil pipeline pengiriman yang terkait dengan otomatisasi ini dengan membuat rilis.
Peluncuran berhasil untuk setidaknya satu target, atau gagal.
Jika peluncuran berhasil, dan otomatisasi adalah
promoteReleaseRule
:Eksekusi menunggu peluncuran berhasil ke target sumber. Target sumber adalah
selector.targets
yang dikonfigurasi untuk otomatisasi, bukan diAutomationRule
.Jika ada waktu
wait
yang dikonfigurasi, eksekusi juga akan menunggu waktu tersebut.Rilis akan otomatis dipromosikan ke target berikutnya dalam progres pipeline, atau ke target tertentu, jika ditunjukkan.
Jika peluncuran berhasil, dan otomatisasi adalah
advanceRolloutRule
dan target menggunakan strategi deployment canary:Eksekusi menunggu fase sumber yang diidentifikasi, jika ada.
Properti
sourcePhase
bersifat opsional, dan jika tidak ada fase sumber yang ditentukan, setiap fase dalam peluncuran akan otomatis maju. Kemajuan fase otomatis terjadi saat fase sumberIN_PROGRESS
, bergantung pada waktuwait
.Jika ada waktu
wait
yang dikonfigurasi, eksekusi juga akan menunggu waktu tersebut.Saat mengotomatiskan deployment canary, Anda menggunakan waktu tunggu ini untuk menentukan durasi setiap fase canary.
Peluncuran akan otomatis dilanjutkan dari fase sumber tersebut ke fase berikutnya dalam peluncuran.
Jika ada fase sumber tambahan, fase tersebut akan diperlakukan sama, termasuk waktu tunggu yang sama, jika berlaku.
Jika peluncuran gagal, dan ada otomatisasi dengan aturan
repairRollout
:Peluncuran akan dicoba lagi, setelah waktu
wait
yang dikonfigurasi, jika ada.Jika fase atau tugas tertentu dikonfigurasi dalam aturan
repairRollout
ini, hanya fase atau tugas tersebut yang dicoba lagi. Secara default, jika tidak ada tugas atau fase yang ditentukan, semua fase dan tugas dalam peluncuran akan dicoba ulang.Karena percobaan ulang bersifat opsional, jika otomatisasi Anda tidak dikonfigurasi untuk mencoba ulang, langkah ini tidak akan terjadi.
Jika percobaan ulang pertama gagal, eksekusi akan menunggu waktu
wait
yang dikonfigurasi, lalu mencoba lagi.Percobaan ulang diulang hingga Cloud Deploy telah menghabiskan percobaan ulang
attempts
.Jika setiap upaya gagal, dan
attempts
habis, peluncuran akan gagal.Selama percobaan ulang, status peluncuran adalah
IN_PROGRESS
hingga peluncuran berhasil atau gagal setelah upaya percobaan ulang terakhir. Status fase adalahIN_PROGRESS
selama percobaan ulang, tetapiFAILED
setelah setiap kegagalan peluncuran.Jika semua percobaan ulang gagal (atau tidak ada yang dikonfigurasi), peluncuran baru akan dibuat untuk rollback ke rilis terbaru yang berhasil di target.
Referensi otomatisasi
Ada dua resource Cloud Deploy yang khusus untuk otomatisasi:
Otomatisasi
Automation
adalah resource turunan dari pipeline pengiriman, dan menyertakan informasi berikut:- Pointer ke target atau target yang digunakan otomatisasi
- Aturan yang mengatur apa yang dilakukan otomatisasi dan cara melakukannya
Konfigurasi untuk resource Otomatisasi dijelaskan dalam dokumen Tentang resource otomatisasi.
Saat Anda menjalankan
gcloud deploy apply
pada file yang menyertakan konfigurasi otomatisasi (kind: Automation
), Cloud Deploy akan membuat resource otomatisasi, yang mengaitkan pipeline pengiriman dan target dengan satu atau beberapa aturan otomatisasi.Menjalankan otomatisasi
AutomationRun
adalah instance otomatisasi. Ini adalah pointer ke resource Otomatisasi yang sesuai, ditambah informasi tentang peluncuran yang memunculkannya, dan metadata lainnya.Operasi otomatis dibuat saat otomatisasi dipicu.
Pelajari resource otomatisasi lebih lanjut.
Aturan otomatisasi
Aturan otomatisasi menentukan tindakan yang dapat dilakukan di pipeline pengiriman secara otomatis, serta detail tentang cara otomatisasi dilakukan.
Pelajari lebih lanjut aturan otomatisasi.
Peran dan izin Identity and Access Management yang diperlukan
Selain izin yang Anda perlukan untuk menjalankan pipeline pengiriman Cloud Deploy, dan untuk melakukan tugas yang akan diotomatiskan (seperti mempercepat peluncuran), ada beberapa izin yang diperlukan untuk melakukan operasi tertentu pada resource Automation
dan AutomationRun
:
clouddeploy.automations.create
clouddeploy.automations.delete
clouddeploy.automations.get
clouddeploy.automations.list
clouddeploy.automations.update
clouddeploy.automationRuns.cancel
clouddeploy.automationRuns.get
clouddeploy.automationRuns.list
Selain izin ini, setiap aturan otomatisasi mungkin memerlukan izin lebih lanjut untuk melakukan operasi otomatis. Lihat Mengonfigurasi aturan otomatisasi untuk mengetahui izin spesifik yang diperlukan per aturan otomatisasi.
Lihat Peran dan izin IAM Untuk informasi selengkapnya, termasuk peran Cloud Deploy yang menyertakan izin ini.
Membuat otomatisasi
Anda dapat membuat otomatisasi, termasuk menggunakan salah satu aturan otomatisasi yang tersedia, dengan mengonfigurasi otomatisasi, lalu membuat resource otomatisasi menggunakan gcloud deploy apply
Lihat bagian berikut (Mengonfigurasi otomatisasi), dan Mengonfigurasi aturan otomatisasi.
Mengonfigurasi otomatisasi
Lihat
Skema file konfigurasi
untuk mengetahui detail tentang cara mengonfigurasi
resource Automation
.
Konfigurasi aturan otomatisasi
Selain konfigurasi otomatisasi ini, Anda menentukan aturan otomatisasi. Konfigurasi berbeda untuk setiap aturan yang tersedia.
Lihat Menggunakan aturan otomatisasi untuk mengetahui deskripsi setiap aturan yang tersedia.
Menangguhkan otomatisasi
Anda dapat menangguhkan resource yang ada tanpa menghapusnya. Hal ini dapat berguna untuk menguji otomatisasi tanpa memengaruhi pipeline penayangan. Saat Anda menangguhkan otomatisasi, otomatisasi tidak akan berjalan, tetapi log platform masih dibuat.
Di konfigurasi
Automation
, Perbarui propertisuspended
menjaditrue
.Jalankan
gcloud deploy apply
terhadap file konfigurasi tersebut.Log platform masih dibuat saat otomatisasi dibuat instance-nya, meskipun ditangguhkan. Anda dapat menggunakannya untuk menguji dan men-debug otomatisasi tanpa memengaruhi pipeline pengiriman.
Langkah selanjutnya
Coba panduan memulai: Mengotomatiskan pembuatan rilis dan progres peluncuran.
Pelajari lebih lanjut aturan otomatisasi Cloud Deploy.
Pelajari lebih lanjut resource otomatisasi Cloud Deploy.
Lihat dokumentasi skema file konfigurasi untuk mengetahui detail tentang file konfigurasi otomatisasi.