Menggunakan aturan otomatisasi

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 adalah 20160m (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 properti selector.targets dalam konfigurasi otomatisasi ini. Ini adalah default jika Anda menghapus nilai dari destinationTargetId.

  • [TO_PHASE]

    Adalah nama fase dari fase yang ingin dipromosikan, misalnya canary-25 atau stable. 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 adalah 20160m (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