Peluncuran Cloud Deploy mencakup fase. Fase adalah pengelompokan tugas yang harus dilakukan dalam peluncuran secara berurutan dan logis.
Setiap fase mencakup tugas, yang merupakan tindakan yang harus dilakukan di setiap fase (misalnya, deploy atau verify). Setiap tugas dapat memiliki nol atau lebih tugas yang dijalankan.
Eksekusi tugas adalah instance tugas. Jika tugas belum berjalan, tidak ada eksekusi tugas.
Dokumen ini menjelaskan fase, tugas, dan jalannya tugas, serta cara mengelolanya.
Struktur peluncuran
Peluncuran adalah resource Cloud Deploy yang mengaitkan rilis dengan target.
Fase
Peluncuran terdiri dari satu atau beberapa fase.
Untuk strategi deployment standar, hanya ada satu fase: stable.
Untuk strategi deployment canary, Ada fase terpisah untuk setiap persentase yang dikonfigurasi. Misalnya, jika Anda mengonfigurasi canary yang men-deploy 25%, lalu 50%, lalu 100%, akan ada tiga fase:
canary-25canary-50stable
Nama fase ini adalah standar: canary-[PERCENTAGE] untuk tahap canary, dan
stable untuk fase 100%. Namun, jika mengonfigurasi
kenari otomatis kustom atau kenari kustom, Anda dapat
mengontrol nama fase.
Tugas dan operasi tugas
Setiap fase peluncuran mencakup satu atau beberapa tugas.
Untuk peluncuran dalam strategi deployment standar, tanpa verifikasi deployment diaktifkan, ada satu fase (stable).
Untuk peluncuran canary, akan ada fase untuk setiap bagian canary
(misalnya, canary-25, canary-50, stable), dan untuk setiap fase ada tugas
deploy. Jika verifikasi diaktifkan, ada juga tugas verify untuk setiap
fase.
Eksekusi tugas adalah instance tugas. Misalnya, eksekusi tugas untuk tugas deploy dilakukan, dan jika berhasil, tidak ada lagi eksekusi tugas untuk tugas tersebut. Jika gagal, tugas dapat dicoba lagi sebagai proses tugas lain.
Melewati fase untuk pertama kalinya
Beberapa strategi deployment (misalnya, canary) membagi traffic antara versi lama dan baru. Jika Anda men-deploy ke target untuk pertama kalinya, tidak ada versi lama, jadi kami tidak dapat membagi traffic.
Oleh karena itu, saat Anda men-deploy canary untuk pertama kalinya, kami akan melewati fase
canary dan menjalankan fase stable. Setelah itu, aplikasi akan di-deploy, dan deployment canary di masa mendatang akan mencakup fase canary.
Dalam situasi dunia nyata, Anda biasanya akan menjalankan deployment canary saat aplikasi Anda sudah berjalan, sehingga fase ini jarang dilewati.
Negara bagian dalam peluncuran
Peluncuran, fase, tugas, dan eksekusi tugas semuanya memiliki status. Bagian ini menjelaskan status untuk setiap jenis.
Status peluncuran
Peluncuran akan memiliki salah satu status berikut:
APPROVAL_REJECTEDPeluncuran memerlukan persetujuan, tetapi persetujuan ditolak.
CANCELLEDStatus akhir untuk peluncuran yang telah dibatalkan oleh pengguna.
CANCELLINGPengguna telah membatalkan peluncuran, tetapi pembatalan belum selesai diproses.
HALTEDDalam deployment paralel, jika satu atau beberapa peluncuran turunan gagal, tetapi setidaknya satu peluncuran turunan berhasil, peluncuran pengontrol akan DIHENTIKAN jika ada lebih banyak fase setelah fase saat ini.
Anda dapat melanjutkan peluncuran pengontrol yang dihentikan dengan melakukan salah satu hal berikut:
Membatalkan peluncuran pengontrol
Mencoba lagi atau mengabaikan tugas yang gagal pada peluncuran turunan
IN_PROGRESSEksekusi tugas sedang diproses.
FAILEDPekerjaan gagal, dan pengguna tidak memilih untuk mengabaikan kegagalan.
PENDINGPeluncuran belum mulai diproses. Status ini bertransisi ke
IN_PROGRESSatauCANCELED.PENDING_APPROVALPeluncuran memerlukan persetujuan, tetapi belum disetujui.
PENDING_RELEASEPeluncuran menunggu rilis dirender.
SUCCEEDEDPeluncuran telah selesai, tanpa kegagalan.
Status fase
Fase akan memiliki salah satu status berikut:
PENDINGFase ini menunggu fase lain dalam peluncuran selesai.
IN_PROGRESSFase telah dimulai.
SUCCEEDEDFase berhasil diselesaikan.
FAILEDTugas dalam fase gagal, dan pengguna tidak memilih untuk mengabaikan kegagalan.
ABORTEDFase sebelumnya gagal.
SKIPPEDSaat Anda menjalankan strategi deployment, seperti canary, Cloud Deploy akan melewati fase
stablejika belum ada versi aplikasi yang berjalan untuk membagi traffic. Dalam hal ini, status ditetapkan keSKIPPED.
Status tugas
Tugas akan memiliki salah satu status berikut:
ABORTEDJika satu fase gagal, fase berikutnya akan dibatalkan.
Jika tugas gagal, dan kegagalan tersebut tidak diabaikan, tugas berikutnya akan dibatalkan. Misalnya, jika fase mencakup tugas deployment dan tugas verifikasi, dan tugas deployment gagal, tugas verifikasi akan dibatalkan.
DISABLEDBeberapa tugas dalam Fase mungkin dinonaktifkan. Misalnya, fase selalu menyertakan tugas verifikasi, baik verifikasi diaktifkan atau tidak. Jika verifikasi tidak diaktifkan, tugas verifikasi akan ditetapkan ke
DISABLED.FAILEDEksekusi tugas untuk tugas ini gagal, dan pengguna tidak memilih untuk mengabaikan kegagalan.
Pengguna memilih untuk menghentikan eksekusi tugas untuk tugas ini.
IGNOREDEksekusi tugas untuk tugas ini gagal, dan pengguna memilih untuk mengabaikan kegagalan.
IN_PROGRESSSaat ini, tugas untuk pekerjaan ini sedang berjalan.
PENDINGRun tugas untuk tugas ini sedang menunggu untuk dimulai, karena fase atau tugas lain belum selesai.
SKIPPEDSaat Anda menjalankan strategi deployment, seperti canary, Cloud Deploy akan melewati fase
stablejika belum ada versi aplikasi yang berjalan untuk membagi traffic. Dalam hal ini, status ditetapkan keSKIPPEDpada tugas dalam fase atau beberapa fase yang dilewati.SUCCEEDEDEksekusi tugas berhasil diselesaikan, dan tugas berikutnya dalam fase telah dimulai, atau fase berikutnya telah dimulai atau siap dimulai (mungkin menunggu input pengguna), atau peluncuran telah selesai.
Status operasi tugas
FAILEDEksekusi tugas gagal selama eksekusi.
IN_PROGRESSEksekusi tugas telah dimulai, tetapi belum selesai.
TERMINATEDPengguna menghentikan eksekusi tugas.
TERMINATINGPengguna menghentikan eksekusi tugas, tetapi penghentian belum selesai.
SUCCEEDEDSaat proses tugas selesai dengan berhasil, tanpa gagal atau dihentikan oleh pengguna, proses tersebut akan dimasukkan ke dalam status
SUCCEEDED, yang
Mengelola peluncuran
Dengan menggunakan konsol Google Cloud atau Google Cloud SDK, Anda dapat melakukan hal berikut dengan peluncuran Cloud Deploy:
Jika Anda menggunakan deployment paralel dengan strategi deployment canary, lihat cara mengelola peluncuran canary paralel.
Memajukan peluncuran
Untuk target yang dikonfigurasi untuk menggunakan strategi deployment selain "standar", Anda harus memajukan peluncuran dari fase ke fase.
Misalnya, jika Anda memiliki target yang dikonfigurasi untuk melakukan deployment canary sederhana
dengan hanya fase 50% dan stable (100%), Anda harus memajukan peluncuran
sekali, dari fase canary-50 ke fase stable (100%).
gcloud
gcloud deploy rollouts advance ROLLOUT_NAME \
--release=RELEASE_NAME \
--delivery-pipeline=PIPELINE_NAME \
--region=REGION
Dengan:
ROLLOUT_NAME adalah nama peluncuran saat ini yang Anda lanjutkan ke fase berikutnya.
RELEASE_NAME adalah nama rilis yang menjadi bagian dari peluncuran ini.
PIPELINE_NAME adalah nama pipeline pengiriman
yang Anda gunakan untuk mengelola deployment rilis ini.
REGION adalah nama region tempat rilis dibuat, misalnya us-central1. Wajib diisi.
Lihat referensi Google Cloud SDK untuk mengetahui informasi selengkapnya tentang
perintah gcloud deploy rollouts advance.
Konsol
Klik pipeline Anda yang ditampilkan dalam daftar pipeline pengiriman.
Halaman detail pipeline Pengiriman menampilkan representasi grafis dari progres pipeline pengiriman Anda.
Di tab Rollouts, di bagian Delivery pipeline details, klik nama peluncuran Anda.
Halaman detail peluncuran akan ditampilkan untuk peluncuran tersebut.

Perhatikan bahwa dalam contoh ini, peluncuran memiliki fase
canary-50dan fasestable. Peluncuran Anda mungkin memiliki lebih banyak fase atau fase yang berbeda.Klik Maju peluncuran.
Peluncuran dilanjutkan ke fase berikutnya.
Membatalkan peluncuran
Anda dapat membatalkan peluncuran yang belum selesai. Anda juga dapat membatalkan peluncuran yang gagal untuk mencegah tindakan lebih lanjut pada peluncuran tersebut (seperti mengabaikan atau mencoba lagi). Peluncuran harus berada dalam salah satu status berikut:
FAILEDHALTEDIN_PROGRESSPENDINGPENDING_APPROVALPENDING_RELEASE
Setelah Anda membatalkan peluncuran, peluncuran tersebut akan berada dalam status CANCELLING hingga semua
tugas yang belum selesai dijalankan. Anda dapat menghentikan
proses tugas yang tertunda yang tidak ingin Anda tunggu. Setelah peluncuran
CANCELLED, peluncuran tidak dapat lagi dilanjutkan atau diubah.
Untuk membatalkan peluncuran:
gcloud
gcloud deploy rollouts cancel ROLLOUT_NAME \
--release=RELEASE_NAME \
--delivery-pipeline=PIPELINE_NAME \
--region=REGION
Dengan:
ROLLOUT_NAME adalah nama peluncuran saat ini yang Anda lanjutkan ke fase berikutnya.
RELEASE_NAME adalah nama rilis yang menjadi bagian dari peluncuran ini.
PIPELINE_NAME adalah nama pipeline pengiriman
yang Anda gunakan untuk mengelola deployment rilis ini.
REGION adalah nama region tempat rilis dibuat, misalnya us-central1. Wajib diisi.
Lihat referensi Google Cloud SDK untuk mengetahui informasi selengkapnya tentang
perintah gcloud deploy rollouts cancel.
Konsol
Klik pipeline Anda yang ditampilkan dalam daftar pipeline pengiriman.
Halaman detail pipeline Pengiriman menampilkan representasi grafis dari progres pipeline pengiriman Anda.
Di tab Rollouts, di bagian Delivery pipeline details, klik nama peluncuran Anda.
Halaman detail peluncuran akan ditampilkan untuk peluncuran tersebut.

Perhatikan bahwa dalam contoh ini, peluncuran memiliki fase
canary-50dan fasestable. Peluncuran Anda mungkin memiliki lebih banyak fase atau fase yang berbeda.Klik Batalkan peluncuran.
Peluncuran dibatalkan.
Menghentikan eksekusi tugas
Anda dapat mengakhiri proses tugas yang sedang berlangsung. Anda mungkin ingin melakukannya, misalnya, jika eksekusi tugas tampaknya memerlukan waktu terlalu lama atau tidak berfungsi seperti yang diharapkan. Eksekusi tugas harus IN_PROGRESS agar Anda dapat mengakhirinya.
gcloud
gcloud deploy job-runs terminate JOB_RUN_ID \
--release=RELEASE_NAME \
--delivery-pipeline=PIPELINE_NAME \
--rollout=ROLLOUT_NAME \
--region=REGION
Dengan:
JOB_RUN_ID adalah (UUID) run tugas yang ingin Anda
hentikan. Anda dapat menemukan ID eksekusi tugas di konsol Google Cloud , untuk Cloud Deploy, di halaman peluncuran:

Anda juga bisa mendapatkan ID run tugas menggunakan perintah gcloud deploy rollouts
describe.
RELEASE_NAME adalah nama rilis yang menjadi bagian dari
jalankan tugas ini.
PIPELINE_NAME adalah nama pipeline pengiriman
yang Anda gunakan untuk mengelola deployment rilis ini.
ROLLOUT_NAME adalah nama peluncuran yang menjadi bagian dari
tugas ini.
REGION adalah nama region tempat rilis dibuat, misalnya us-central1. Wajib diisi.
Lihat referensi Google Cloud SDK untuk mengetahui informasi selengkapnya tentang
perintah gcloud deploy job-runs terminate.
Konsol
Klik pipeline Anda yang ditampilkan dalam daftar pipeline pengiriman.
Halaman Detail pipeline pengiriman menampilkan representasi grafis dari progres pipeline pengiriman Anda.
Di tab Rollouts, di bagian Delivery pipeline details, klik nama peluncuran Anda.
Halaman detail peluncuran akan ditampilkan untuk peluncuran tersebut.

Perhatikan bahwa dalam contoh ini, peluncuran memiliki fase
canary-50dan fasestable. Peluncuran Anda mungkin memiliki lebih banyak fase atau fase yang berbeda.Di bagian Fase, klik fase yang mencakup tugas yang menjalankan tugasnya akan Anda hentikan.
Di bagian Job runs, pilih job run tertentu yang Anda hentikan, lalu klik Terminate.
Eksekusi tugas dihentikan, dan status tugas, seperti yang ditampilkan dalam tabel Phases, adalah
Failure.
Setelah menghentikan eksekusi tugas, tugas dianggap gagal dan Anda dapat melakukan salah satu tindakan berikut:
- Biarkan seperti itu dan abaikan peluncuran yang gagal
- Coba lagi tugas
- Abaikan tugas dan lanjutkan dengan tugas atau fase berikutnya dalam peluncuran
Mengabaikan tugas
Anda dapat mengabaikan tugas yang gagal dan langsung beralih ke tugas berikutnya dalam fase. Tugas tersebut mungkin gagal karena alasan apa pun, termasuk Anda atau orang lain menghentikan eksekusi tugas untuk tugas tersebut.
Tugas yang gagal berarti fase yang gagal dan peluncuran yang gagal. Namun, jika Anda mengabaikan
kegagalan, fase dan peluncuran dapat dilanjutkan dan pada akhirnya
dapat memiliki status SUCCEEDED.
gcloud
gcloud deploy rollouts ignore-job ROLLOUT_NAME \
--release=RELEASE_NAME \
--delivery-pipeline=PIPELINE_NAME \
--job-id=JOB_ID \
--phase-id=PHASE_ID \
--region=REGION
Dengan:
ROLLOUT_NAME adalah nama peluncuran yang menjadi bagian dari
tugas ini.
RELEASE_NAME adalah nama rilis saat ini
yang mencakup tugas ini.
PIPELINE_NAME adalah nama pipeline pengiriman
yang Anda gunakan untuk mengelola deployment rilis ini.
JOB_ID adalah nama tugas yang akan diabaikan, misalnya
DEPLOY. Anda dapat menemukan nama tugas di tabel Fase untuk peluncuran, di konsol Google Cloud :

PHASE_ID adalah nama fase yang mencakup
tugas yang Anda abaikan.
REGION adalah nama region tempat rilis dibuat, misalnya us-central1.
Lihat referensi Google Cloud SDK untuk mengetahui informasi selengkapnya tentang
perintah gcloud deploy rollouts ignore-job.
Konsol
Klik pipeline Anda yang ditampilkan dalam daftar pipeline pengiriman.
Halaman Detail pipeline pengiriman menampilkan representasi grafis dari progres pipeline pengiriman Anda.
Di tab Rollouts, di bagian Delivery pipeline details, klik nama peluncuran Anda.
Halaman detail peluncuran akan ditampilkan untuk peluncuran tersebut.
Pilih tugas yang gagal untuk diabaikan.
Klik tombol Abaikan kegagalan.
Eksekusi tugas yang gagal akan diabaikan, dan peluncuran akan dilanjutkan seolah-olah tugas telah berhasil. Artinya, jika ada tugas lain dalam fase yang sama, tugas tersebut akan dieksekusi. Jika tidak, peluncuran siap dilanjutkan ke fase berikutnya.

Mencoba lagi tugas yang gagal
Anda dapat mencoba lagi eksekusi tugas yang gagal. Pekerjaan dapat gagal karena salah satu alasan berikut:
Eksekusi tugas gagal diselesaikan.
Misalnya, mungkin terjadi kegagalan izin.
Pengguna menghentikan eksekusi tugas dari tugas tersebut.
Menghentikan eksekusi tugas akan menghasilkan tugas yang gagal, yang dapat Anda coba lagi.
Tes verifikasi gagal.
Untuk tugas verifikasi, pengujian verifikasi gagal. Meskipun tugas verifikasi selesai dengan benar, salah satu pengujian verifikasi Anda gagal, dan kami menyebarkannya kembali ke tugas verifikasi. Dalam hal ini, Anda akan mencoba lagi tugas sebagai bagian dari proses men-debug pengujian yang gagal terhadap aplikasi Anda.
Untuk mencoba lagi tugas yang gagal:
gcloud
gcloud deploy rollouts retry-job JOB_NAME \
--release=RELEASE_NAME \
--delivery-pipeline=PIPELINE_NAME \
--rollout=ROLLOUT_NAME \
--phase=PHASE_ID \
--region=REGION
Dengan:
JOB_NAME adalah nama tugas yang Anda coba lagi. Misalnya, jika Anda mencoba lagi tugas verifikasi setelah verifikasi gagal, nilai ini adalah verify.
RELEASE_NAME adalah nama rilis yang menjadi bagian dari
jalankan tugas ini.
PIPELINE_NAME adalah nama pipeline pengiriman
yang Anda gunakan untuk mengelola deployment rilis ini.
ROLLOUT_NAME adalah nama peluncuran yang menjadi bagian dari
tugas ini.
PHASE_ID adalah nama fase yang menjadi bagian dari tugas ini. Misalnya, canary-50, atau stable.
REGION adalah nama region tempat rilis dibuat, misalnya us-central1. Wajib diisi.
Lihat referensi Google Cloud SDK untuk mengetahui informasi selengkapnya tentang
perintah gcloud deploy rollouts retry-job.
Konsol
Klik pipeline Anda yang ditampilkan dalam daftar pipeline pengiriman.
Halaman Detail pipeline pengiriman menampilkan representasi grafis progres pipeline pengiriman Anda.
Di tab Peluncuran, di bagian Detail pipeline pengiriman, klik nama peluncuran Anda.
Halaman detail peluncuran akan ditampilkan untuk peluncuran tersebut.
Di bagian Fase dan Tugas, klik fase yang mencakup tugas yang Anda coba lagi.
Pilih tugas yang akan dicoba lagi.
Klik Coba lagi, lalu konfirmasi.

Run tugas dijalankan lagi dan status tugas, seperti yang ditampilkan dalam tabel Phases, adalah "in progress". Jika ada tugas lain dalam fase yang sama, tugas tersebut akan dijalankan. Jika tidak, peluncuran siap dilanjutkan ke fase berikutnya.
Langkah berikutnya
Cari tahu lebih lanjut cara kerja strategi deployment di Cloud Deploy.
Lihat dokumentasi arsitektur layanan Cloud Deploy untuk mengetahui informasi selengkapnya tentang cara kerja peluncuran, fase, tugas, dan eksekusi tugas dengan Cloud Deploy.