Mengurangi risiko deployment dengan blue-green deployment

Halaman ini menunjukkan cara men-deploy versi baru aplikasi Anda 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

Kirim Aplikasi yang diupdate

Gunakan Kf CLI untuk mem-push versi baru Aplikasi Anda tanpa rute apa pun:

$ 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 bahwa rute tersebut tidak mendapatkan permintaan apa pun:

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

Alihkan traffic

Mulai alihkan traffic dari Aplikasi lama ke Aplikasi yang telah 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 bobotnya lagi:

$ 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

Turunkan 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