閱讀997 返回首頁    go 阿裏雲 go 技術社區[雲棲]


《配置管理最佳實踐》——導讀

8181d6a425832246535c6fe9f0f1d83423863b18


前言

配置管理(CM,Configuration Management)在任何開發工作中都起著非常關鍵的作用。我從事配置管理的實施和支持工作已經超過25年,本書中將討論的大部分內容都直接來自於個人的經驗。我實施並支持過各種配置管理的實踐方法並達到這樣一種狀態——如果建立的過程或自動化沒有按照預期般運作的話,我經常會在半夜裏被驚醒。作為一名教師,我向超過九百多的專業技術人員傳授過工業級的配置管理工具(同樣,他們在成功地完成課程後都得到了我家的電話號碼,這樣如果我沒有教授好知識和技能,即使半夜被他們的電話叫醒,也毫無怨言)。同事和學生們總是說我對這門學科充滿著激情和熱愛。
與其他許多學科一樣,配置管理中有很多令人混淆的術語。在這本書裏我解決不了這個問題,但至少我會努力不使情況變得更糟。首字母縮寫SCM曾被用來代表源代碼管理 (Source Code Management) 和最近的軟件配置管理 (Software Configuration Management) 。一個博學的同事提醒我不要使情況變得更糟,所以當使用縮寫SCM時,我僅指更廣泛的軟件配置管理,這是配置管理的一個專業領域(和第8章“硬件配置管理”中討論的硬件配置管理相反)。同樣,縮寫CI代表的可以是配置項(Configuration Item)或者是持續集成(Continuous Integration)。 配置管理術語可能會相當令人混淆。我不能改變這種雙重用途的首字母縮寫詞造成的混亂,因為它很普遍,但會盡可能地做到清楚明晰。配置控製和發布管理等術語也存在類似的問題,我將盡我所能地對這些術語提出明確的解釋。而更重要的是解釋如何在現實世界中實施這些方法。其次我希望能在網上和大家一起討論如何使用這些術語以及它們的演變。
專業技術人員,包括開發經理、係統架構師、開發人員、係統工程師、硬件工程師、質量保證、質量工程、運營工程師、技術人員和項目經理都將受益於本書中的信息。首席技術官、IT審計師和公司經理們會特別喜歡建立IT控製及規範的部分。無論是敏捷愛好者還是采用經典的瀑布式生命周期,本書都將幫助你把工作做得更好。配置管理完全是關於如何成為一個好的企業員工的。企業有責任為公眾利益提供和維護技術報告,而新聞媒體則是喜歡報道其中一些企業的貪婪和無能。配置管理最佳實踐幫助確保全球經濟運行平穩,自動取款機工作正常,空中交通管製係統保持在線狀態等。如果你希望自己的技術開發工作更加高效並產生更高質量的產品,這本書就是給你的。

目錄

第I部分 配置管理核心實踐
第1章 源代碼管理
1.1 為什麼源代碼管理如此重要

1.2 從哪裏開始
1.3 源代碼管理核心概念
1.3.1 建立基線和時間機器
1.3.2 保留與非保留簽出
1.3.3 沙箱和工作空間
1.3.4 變體管理(分支)
1.3.5 複製分支與增量分支
1.3.6 如何處理缺陷修複
1.3.7 流
1.3.8 合並
1.3.9 變更集
1.4 權限和需求跟蹤
1.5 管理全球分布式開發團隊
1.6 工具的選擇
1.6.1 開源軟件與商業軟件
1.6.2 產品成熟度和供應商承諾
1.6.3 可擴展性和開放的API
1.6.4 不要過度工程化源代碼管理
1.7 認識質量成本和總擁有成本
1.8 培訓
1.9 建立使用模型
1.10 實施時間和風險
1.11 建立支持過程
1.12 高級特性和授權高級用戶
1.13   結論
第2章 構建工程
2.1 為什麼構建工程如此重要

2.2 從哪裏開始
2.3 構建工程的核心概念
2.3.1 版本ID和標記可執行文件
2.3.2 不可變的版本ID
2.3.3 打上版本標記或者標簽
2.3.4 管理編譯依賴
2.3.5 獨立構建
2.4 建立構建職能的注意事項
2.4.1 推廣獨立構建
2.4.2 過度工程化構建
2.4.3 保持正直和誠實
2.4.4 隸屬研發部門引起的利益衝突
2.4.5 組織結構的選擇
2.5 構建工具評估和選擇
2.5.1 Apache Ant 進入構建舞台
2.5.2 Maven
2.5.3 Maven 與 Ant
2.5.4 使用 Ant 生成複雜構建
2.5.5 持續集成
2.5.6 持續集成係統
2.5.7 集成開發環境
2.5.8 靜態代碼分析
2.5.9 構建框架
2.5.10 構建工具的選擇
2.5.11 對比優缺點達成一致
2.6 質量和培訓成本
2.7 把構建做得更好
2.7.1 鮑勃的構建秘方
2.7.2 測試驅動的構建
2.7.3 信任,但仍要核查
2.7.4 飛機的駕駛艙
2.8 構建工程師的角色
2.8.1 了解構建的項目
2.8.2 與開發人員合作
2.8.3 招募新人
2.9 架構是構建的基礎
2.10 建立構建過程
2.11 持續集成與每日構建
2.12 構建工程的前景
2.13   結論

最後更新:2017-06-06 07:33:56

  上一篇:go  內存計算
  下一篇:go  《Cucumber:行為驅動開發指南》——2.2 創建一個特性