week 4 你需要什麼樣的 CI/CD?

2021/8/18

架構師觀點: 你需要什麼樣的 CI / CD ?

本文背景:這篇文章的出現似乎是因為當初在 soft_job 版上有人發了一篇文提到沒有 CICD 的公司就可以不用去了,聽 KK 說 CICD 在 2017~2018 會的人也不多,大多公司都只做到版控。

今天這場讀書會是比較實務的分享,因為待過的公司都沒有什麼規範,雖然自己可以開多個帳號跟自己玩,但很難真的玩出什麼災難,也許人生要遇過一次災難或當過一次災難,才比較有心得。

Flow

git flow

兩個主支,三個分支。

github flow

Branching is a core concept in Git, and the entire GitHub flow is based upon it. There's only one rule: anything in the main branch is always deployable.

這個 flow 的來源:github 上的開源專案最常見的 flow,github 就命名叫 github flow。

搭配

pros and cons

pro

  • 嚴謹

con

  • 麻煩

Case

case 1 git flow

  • dev = 玩耍

  • release = stage

  • master = prod

    • hot fix

case 2

  • master = prod (CD)

  • release = dev = stage (CD to master) 會在這裡下 tag (用日期命名) + ticket PR

    • branch (feature?) 從 tag 拉,合併回 tag 上版號

case 3

Last updated