Mengurangi risiko deployment dengan blue-green deployment

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

Mengirimkan Aplikasi awal

Gunakan Kf CLI untuk mendorong versi awal Aplikasi Anda dengan rute apa pun:

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

Mengirim Aplikasi yang telah diupdate

Gunakan Kf CLI untuk mendorong versi baru Aplikasi Anda tanpa rute apa pun:

$ kf push app-v2 --no-route

Menambahkan rute ke Aplikasi yang diperbarui

Gunakan Kf CLI untuk mengikat semua rute yang ada ke Aplikasi yang diperbarui 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

Mengalihkan traffic

Mulai alihkan traffic dari Aplikasi lama ke Aplikasi yang diperbarui dengan memperbarui 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 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 bahwa layanan baru belum menyebabkan 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