組態管理(Configuration Management)是為了確保軟體開發過程中的產品的一致性、穩定性、可追溯性、復原性等一系列目的而採取的技術上和管理上的手段的總稱。
往往由於軟體開發過程當中重心放在了“開發”本身,組態管理往往被當成了不重要的環節而被忽略了。
提起組態管理,很多人都會認為把文檔和代碼放在版本管理工具裡就叫做組態管理了。
頂多是做做目錄劃分,使用權限設定,簽入簽出規則設定等。
做到上述這些只是做到了版本管理(Version Control),而不是組態管理。
除了上述這些之外,組態管理還要求能夠保證靈活性、時效性等目的。
另外,做好組態管理的一個重要的作用是高效快速而穩定的發布系統。
在開始本章之前,請先看看這幾個專業詞彙,你瞭解多少
1. 每日建立(Daily Build)
2. 持續發布(Continuous Integration)
3. 持續傳遞(Continuous Delivery)
4. 藍綠髮布(Blue Green Deployment)
5. 金絲雀發布(Canary Deployment)
6. 分布式管理(Distributed Control)
7. 主幹、分支和標籤(Trunk, Branch and Tags)
好的,不要著急,我們將在今後的章節裡逐個的講解這些詞彙的意思以及實際中的應用。
在開始閱讀詳細的章節之前,先考慮一下,你的組織或者團隊裡是否有這樣一些角色和做法
1. 組態管理員(Configuration Specialist)
2. 軟體組態控制委員會(Software Configuration Control Board)
3. 發布前審核(Audit Before Releasing)
4. 最終檢驗(Final Candidate)
5. 軟體發布手冊(Manual of Deployment)
如果你的組織配備了上述角色,或者採用了上述做法,那麼你很有必要繼續閱讀本系列,以弄清楚這些角色和流程是如何降低組織效率、破壞工作成果的。