iT邦幫忙

2023 iThome 鐵人賽

DAY 22
0
Software Development

FooTinder App - 美食餐廳 x 推薦地圖系列 第 22

Day 22, [軟體開發] Test on Production, Deploy at Anytime

  • 分享至 

  • xImage
  •  

Ant 哥的 Test in Production, Deploy on Fridays

多環境,多分支的不方便

  • 多環境在實務開發中是很好理解的,隔離正式環境,再加上多個協作的測試環境
  • 於是立刻就會產生一個問題,到底是 Branch 要直接對應到環境?還是 Tag 要對應到環境?
  • 團隊用的是 Git Flow 還是 GitHub Flow?還是揉在一起的變形?
  • 上次有朋友剛好問我一個問題,到底怎麼解這個問題?我笑笑地講了一個不是回答的回答,那就單環境單分支

TBD (Trunk Based Development), Feature Toggle

  • 假定正式環境開開心心活著,為什麼我們會怕部署一個新版本?
      1. 部署時間太長不可用,會影響用戶
      1. 部署新版本可能有錯誤,會影響用戶
  • 認真地想想這兩個都是假議題,在 DevOps 已經如此發達的今天,透過金絲雀或是藍綠部署都可以動態的切換流量,解決 1. 的問題。而 2. 歸根就是信心不夠,信心則來自各式各樣的的測試,而如果測試做不夠,基本上每次部署其實就是在跳樓,只是你不知道是從幾樓跳下去
  • 所以透過多分支多環境去規避風險可能是無效的,直接做真男人的開發,TBD 搭配 GitHub Flow 和 迴歸測試
  • 退一萬步說,來個 傳送門,在第九天我們提到了 Delivery 交付 / Deployment 部署 的差別。透過 Remote Config 搭配 Feature Toggle,讓小量的人使用新版本,也就是 Ant 哥演講中提到的控制爆炸半徑,沒問題就繼續放量,有問題就回滾
  • 當做到這個程度,也不需要挑時間來部署了,來一場想走就走的旅行 XD

✌️ 那麼第二十二天到這邊囉,明天來講 -> [第二階段小結]

相關資訊


上一篇
Day 21, [產品開發] Firebase
下一篇
Day 23, [第二階段小結]
系列文
FooTinder App - 美食餐廳 x 推薦地圖30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
楊舒安
iT邦新手 2 級 ‧ 2023-10-08 00:46:54

不愧是 V大...((跪

我要留言

立即登入留言