How to use Ansible achieve blue/green deployment
Prerequisite
可以參考 How to set up Traefik on docker-swarm
- ansible
- docker-swarm
- traefik
What’s blue/green deployment
看圖說故事吧
Pros:
- 即時的 rollout/rollback
Cons:
- 需要兩倍的資源
Concept
- 取得當前
slot
的顏色並且判斷出將要替換的顏色 - 部署新版服務到將要替換的顏色
- 透過
load balancer
將流量導到新版服務並且更改slot
的顏色
Terms
name | value | description |
---|---|---|
slot | blue,green | 用以表示當前工作中的顏色 |
color | blue,green | 服務的顏色 |
app | string | 服務的名字 |
Implementation
// todo: write
未完待續