Dokumen ini adalah ringkasan otomatisasi deployment.
Anda dapat mengonfigurasi Cloud Deploy untuk otomatis melakukan tugas terkait rilis dan tugas 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 otomatiskan
Di Cloud Deploy, Anda dapat mengotomatiskan aktivitas rilis dan peluncuran berikut:
Mempromosikan rilis secara otomatis
Anda dapat mengonfigurasi Cloud Deploy untuk mempromosikan rilis Anda secara otomatis, setelah peluncuran yang berhasil 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 tunda.Mempromosikan rilis sesuai jadwal
Anda dapat mengonfigurasi Cloud Deploy untuk mempromosikan rilis sesuai dengan jadwal cron.
-
Anda dapat mengonfigurasi Cloud Deploy untuk memajukan peluncuran dari satu fase ke fase berikutnya, setelah peluncuran berhasil ke target sebelumnya. Percepatan fase hanya tersedia di target yang menggunakan strategi deployment canary.
-
Anda dapat mengonfigurasi Cloud Deploy untuk otomatis mencoba kembali peluncuran yang gagal. Hal ini mencakup mencoba ulang peluncuran beberapa kali yang ditentukan, dan otomatis melakukan rollback 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 pada pipeline pengiriman yang digunakan. 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 resource Automation.
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.targetsyang dikonfigurasi untuk otomatisasi, bukan diAutomationRule.Jika ada waktu
waityang dikonfigurasi, eksekusi juga menunggu waktu tersebut.Rilis dipromosikan secara otomatis ke target berikutnya dalam progres pipeline, atau ke target tertentu, jika ditunjukkan.
Jika peluncuran berhasil, dan otomatisasi adalah
advanceRolloutRuledan target menggunakan strategi deployment canary:Eksekusi menunggu fase sumber yang diidentifikasi, jika ada.
Properti
sourcePhasebersifat opsional, dan jika tidak ada fase sumber yang ditentukan, setiap fase dalam peluncuran akan dilanjutkan secara otomatis. Percepatan fase otomatis terjadi saat fase sumber adalahIN_PROGRESS, tunduk pada waktuwait.Jika ada waktu
waityang dikonfigurasi, eksekusi juga 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 diperlakukan sama, termasuk waktu tunggu yang sama, jika berlaku.
Jika peluncuran gagal, dan ada otomatisasi dengan aturan
repairRollout:Peluncuran akan dicoba lagi, setelah
waitwaktu yang dikonfigurasi, jika ada.Jika fase atau tugas tertentu dikonfigurasi dalam aturan
repairRolloutini, hanya fase atau tugas tersebut yang dicoba lagi. Defaultnya, jika tidak ada tugas atau fase yang ditentukan, adalah mencoba ulang semua fase dan tugas dalam peluncuran.Karena percobaan ulang bersifat opsional, jika otomatisasi Anda tidak dikonfigurasi untuk melakukan percobaan ulang, langkah ini tidak akan terjadi.
Jika percobaan ulang pertama gagal, eksekusi akan menunggu selama waktu
waityang dikonfigurasi, lalu mencoba lagi.Percobaan ulang diulang hingga Cloud Deploy menghabiskan percobaan ulang
attempts.Jika setiap upaya gagal, dan
attemptshabis, peluncuran akan gagal.Selama percobaan ulang, status peluncuran adalah
IN_PROGRESShingga peluncuran berhasil atau gagal setelah upaya percobaan ulang terakhir. Status fase adalahIN_PROGRESSselama percobaan ulang, tetapiFAILEDsetelah setiap kegagalan peluncuran.Jika semua percobaan ulang gagal (atau tidak ada yang dikonfigurasi), peluncuran baru akan dibuat untuk melakukan rollback ke rilis terbaru yang berhasil di target.
Referensi otomatisasi
Ada dua resource Cloud Deploy yang khusus untuk otomatisasi:
Otomatisasi
Automationadalah resource turunan dari pipeline pengiriman, dan mencakup informasi berikut:- Penunjuk ke target atau target yang menggunakan otomatisasi
- Aturan yang mengatur tindakan otomatisasi dan cara melakukannya
Konfigurasi untuk resource Automation dijelaskan dalam dokumen Tentang resource otomatisasi.
Saat Anda menjalankan
gcloud deploy applyterhadap 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
AutomationRunadalah instance otomatisasi. Ini adalah penunjuk ke resource Otomatisasi yang sesuai, ditambah informasi tentang peluncuran yang menghasilkannya, dan metadata lainnya.Operasi otomatisasi dibuat saat otomatisasi dipicu.
Pelajari lebih lanjut aset otomatisasi.
Aturan otomatisasi
Aturan otomatis menentukan tindakan yang dapat dilakukan pada pipeline pengiriman Anda secara otomatis, serta detail tentang cara melakukan otomatisasi.
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 melakukan tugas yang akan diotomatiskan (seperti memajukan peluncuran), ada beberapa izin yang diperlukan untuk melakukan operasi tertentu pada resource Automation dan AutomationRun:
clouddeploy.automations.createclouddeploy.automations.deleteclouddeploy.automations.getclouddeploy.automations.listclouddeploy.automations.updateclouddeploy.automationRuns.cancelclouddeploy.automationRuns.getclouddeploy.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 mengetahui informasi selengkapnya, termasuk peran Cloud Deploy yang mencakup 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 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 dijalankan, tetapi log platform tetap dibuat.
Di konfigurasi
Automation, Perbarui propertisuspendedmenjaditrue.Jalankan
gcloud deploy applyterhadap file konfigurasi tersebut.Log platform tetap dibuat saat otomatisasi di-instansiasi, meskipun ditangguhkan. Anda dapat menggunakannya untuk menguji dan men-debug otomatisasi tanpa memengaruhi pipeline pengiriman.
Langkah berikutnya
Coba panduan memulai: Mengotomatiskan pembuatan rilis dan peningkatan peluncuran.
Pelajari lebih lanjut aturan otomatisasi Cloud Deploy.
Pelajari lebih lanjut resource otomatisasi Cloud Deploy.
Lihat dokumentasi skema file konfigurasi untuk mengetahui detail file konfigurasi otomatisasi.