iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 8
0
DevOps

DevOps平台的能力架構系列 第 8

Day08 - Source code management

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20200924/20129694QpMTxiFIvs.jpg

現在我們正式從planning到coding的步驟了。
在Agile開發裡不可或缺的就是source code management(SCM)/version control功能了。

Source code management為什麼重要?

  1. 能讓不同開發者同時工作,因為merging過程能簡單地把所有人的修改結合在一起。
  2. 所有的修改都有紀錄,也對應著CALMS裡的Sharing和three ways的amplify feedback loop,能簡單地讓任何人都能清楚知道最新版本的軟體裡包含了哪些變化。不過這也需要開發者有良好的紀錄習慣,要不然commit message裡全都是initial commit,bug fix 1,bug fix 2,revert previous change也很讓人頭痛/images/emoticon/emoticon40.gif
  3. 恢復錯誤,開發過程中錯誤是無法避免的,或是實驗新的algorithm時發現和想像的不一樣,有SCM我們可以輕鬆地回復到上一個有效的版本。這也對應著three ways的culture of continuous experimentation and learning
    https://ithelp.ithome.com.tw/upload/images/20200923/20129694lBIQMBdydz.jpg
  4. 備份,source code是一個公司最重要的資產,因為version control software(VCS)會在一個中央伺服器裡,備份和disaster recovery(DR)也相對的比較容易。而如果是像git這種distrubuted VCS,那每一個開發者的電腦都是一個DR site。

比較常看到的VCS如下:

Git系列

GitHub, GitLab, BitBucket

Subversion系列

Subversion

Cloud系列

AWS Codecommit, GCP Cloud Source Repositories, GitHub(因為被Microsoft賣下來了)

當然還有很多其他的,我就不在這裡一一列出來了。

下一篇就來看source code management如何和continuous integration裡的其他部分結合,讓我們隨時都有一份可以deploy的軟體。

< 上一篇 Day07 - Test case management
> 下一篇 Day09 - Source code branching


上一篇
Day07 - Test case management
下一篇
Day09 - Source code branching
系列文
DevOps平台的能力架構19
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言