Dokumen ini menjelaskan aturan otomatisasi, yang merupakan tindakan yang dapat dilakukan pada pipeline pengiriman Anda secara otomatis. Misalnya, Anda dapat mengonfigurasi pipeline pengiriman agar promosi ke target tertentu terjadi secara otomatis, dalam situasi yang tepat.
Anda hanya dapat menggunakan aturan otomatisasi yang disertakan dalam Cloud Deploy. Aturan otomatisasi yang tersedia tercantum dalam dokumen ini.
Aturan otomatisasi yang tersedia
Aturan otomatisasi berikut tersedia di Cloud Deploy:
Aturan | Deskripsi |
---|---|
promoteReleaseRule
|
Otomatis mempromosikan rilis ke target yang ditunjukkan setelah berhasil
peluncuran dalam target sebelumnya dalam progres. |
advanceRolloutRule
|
Otomatis memajukan peluncuran dari
fase ke fase berikutnya. |
Mengonfigurasi aturan otomatisasi
Konfigurasi untuk setiap aturan otomatisasi bergantung pada aturan tertentu. Bagian ini menjelaskan konfigurasi yang dimiliki semua aturan, serta cara mengonfigurasi setiap aturan yang tersedia.
Bagian berikut menjelaskan konfigurasi khusus untuk setiap aturan otomatisasi. Lihat Mengotomatiskan deployment Anda untuk mengonfigurasi otomatisasi itu sendiri.
Mengonfigurasi aturan otomatisasi promoteReleaseRule
Aturan promoteReleaseRule
mempromosikan rilis Anda setelah peluncuran
yang berhasil ke target. Misalnya, jika memiliki tiga target, Anda dapat menyiapkan aturan ini sehingga saat rilis berhasil di-deploy ke target pertama, rilis tersebut otomatis dipromosikan ke target kedua.
Saat mengonfigurasi otomatisasi promoteReleaseRule
, Anda dapat menentukan
target untuk dipromosikan (destinationTargetId
) atau @next
. Saat peluncuran berhasil selesai di target yang ditentukan dalam definisi Automation
, rilis akan dipromosikan ke target yang ditentukan dalam destinationTargetId
, dengan interval waktu wait
.
Anda juga dapat mempromosikan rilis ke fase tertentu pada target yang dimaksud, menggunakan
properti destinationPhase
.
rules:
- promoteReleaseRule:
name: "[RULE_NAME]"
wait: [WAIT_TIME]
destinationTargetId: "[TO_TARGET]"
destinationPhase: "[TO_PHASE]"
Dengan keterangan:
[RULE_NAME]
Nama yang ingin Anda berikan untuk aturan ini. Nama ini harus unik dalam resource otomatisasi.
[WAIT_TIME]
Apakah jumlah waktu, dalam menit, untuk menunggu setelah rilis siap untuk dipromosikan sebelum dipromosikan. Misalnya,
1m
.m
wajib diisi.Nilai defaultnya adalah
0
, atau tanpa waktu tunggu. Jumlah maksimumnya adalah20160m
(atau 14 hari).[TO_TARGET]
Merupakan
targetId
target yang akan dijadikan tujuan promosi.Nilai ini juga dapat berupa
@next
, yang mempromosikan rilis secara otomatis ke target berikutnya setelah target yang ditentukan dalam propertiselector.targets
dalam konfigurasi otomatisasi ini. Ini adalah default jika Anda menghapus nilai daridestinationTargetId
.[TO_PHASE]
Adalah nama fase dari fase yang ingin dipromosikan, misalnya
canary-25
ataustable
. Properti ini bersifat opsional; jika Anda menghapusnya, rilis akan dipromosikan ke fase pertama di target.
Mengonfigurasi aturan otomatisasi advanceRolloutRule
advanceRolloutRule
melanjutkan peluncuran Anda, secara otomatis, setelah berhasil menyelesaikan satu fase, ke fase berikutnya. Aturan otomatisasi ini berguna untuk deployment canary. Misalnya, jika Anda memiliki strategi deployment canary yang dikonfigurasi pada target, dengan fase 25%
, 50%
, dan stable
, Anda dapat mengonfigurasi aturan otomatisasi yang memajukan fase secara otomatis ke stable
setelah fase 50%
selesai.
Saat mengonfigurasi otomatisasi advanceRolloutRule
, Anda mengidentifikasi fase
dari (sourcePhase
) untuk mengidentifikasi fase berikutnya.
rules:
- advanceRolloutRule:
id: "[RULE]"
sourcePhases: ["[START_PHASE]", "[START_PHASE]"...]
wait: [WAIT_TIME]
Dengan keterangan:
[RULE]
Nama yang ingin Anda berikan untuk aturan ini. Nama ini harus unik dalam pipeline pengiriman.
[WAIT_TIME]
Apakah jumlah waktu, dalam menit, untuk menunggu guna melanjutkan peluncuran setelah peluncuran siap. Misalnya,
1m
.m
wajib diisi.Nilai defaultnya adalah
0
, atau tanpa waktu tunggu. Jumlah maksimumnya adalah20160m
(atau 14 hari).["[START_PHASE]", "[START_PHASE]"...]
Apakah fase atau beberapa fase dari mana peluncuran dilakukan secara otomatis. Artinya, jika salah satu fase yang tercantum berhasil diselesaikan, peluncuran akan otomatis dilanjutkan dari fase tersebut ke fase berikutnya.
Nama fase peka huruf besar/kecil. Selain itu, nama fase ini bersifat opsional; jika Anda menghapus
sourcePhases
, semua fase dalam peluncuran akan dilanjutkan secara otomatis.
Langkah selanjutnya
Coba panduan memulai: Mengotomatiskan pembuatan rilis dan kemajuan peluncuran.
Pelajari lebih lanjut otomatisasi deployment di Cloud Deploy.