Mengurangi Risiko Deployment dengan Blue-Green Deployment

Halaman ini menunjukkan cara men-deploy aplikasi versi baru dan memigrasikan traffic dari versi lama ke versi baru.

Mendorong Aplikasi awal

Gunakan Kf CLI untuk mengirim versi awal Aplikasi Anda dengan Rute apa pun:

$ kf push app-v1 --route my-app.my-space.example.com

Mendorong Aplikasi yang diupdate

Gunakan Kf CLI untuk mendorong versi baru Aplikasi Anda tanpa Rute:

$ kf push app-v2 --no-route

Menambahkan Rute ke Aplikasi yang diupdate

Gunakan Kf CLI untuk mengikat semua Rute yang ada ke Aplikasi yang diupdate dengan bobot 0 untuk memastikan tidak ada permintaan apa pun.

$ kf map-route app-v2 my-space.example.com --hostname my-app --weight 0

Mengalihkan traffic

Mulai alihkan traffic dari Aplikasi lama ke Aplikasi yang diupdate dengan mengupdate bobot pada Rute.

$ kf map-route app-v1 my-space.example.com --hostname my-app --weight 80
$ kf map-route app-v2 my-space.example.com --hostname my-app --weight 20

Jika deployment berjalan dengan baik, Anda dapat mengalihkan lebih banyak traffic dengan memperbarui bobot kembali:

$ kf map-route app-v1 my-space.example.com --hostname my-app --weight 50
$ kf map-route app-v2 my-space.example.com --hostname my-app --weight 50

Menyelesaikan pengalihan traffic

Setelah Anda yakin layanan baru tidak menimbulkan regresi, selesaikan peluncuran dengan mengalihkan semua traffic ke instance baru:

$ kf map-route app-v1 my-space.example.com --hostname my-app --weight 0
$ kf map-route app-v2 my-space.example.com --hostname my-app --weight 100

Menonaktifkan Aplikasi asli

Setelah Anda yakin bahwa rollback cepat tidak diperlukan, hapus rute asli dan hentikan Aplikasi:

$ kf unmap-route app-v1 myspace.example.com --hostname my-app
$ kf stop app-v1

Atau hapus Aplikasi dan semua pemetaan Rute terkait:

$ kf delete app-v1