天天看點

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

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

**

前言

配置管理(cm,configuration management)在任何開發工作中都起着非常關鍵的作用。我從事配置管理的實施和支援工作已經超過25年,本書中将讨論的大部分内容都直接來自于個人的經驗。我實施并支援過各種配置管理的實踐方法并達到這樣一種狀态——如果建立的過程或自動化沒有按照預期般運作的話,我經常會在半夜裡被驚醒。作為一名教師,我向超過九百多的專業技術人員傳授過工業級的配置管理工具(同樣,他們在成功地完成課程後都得到了我家的電話号碼,這樣如果我沒有教授好知識和技能,即使半夜被他們的電話叫醒,也毫無怨言)。同僚和學生們總是說我對這門學科充滿着激情和熱愛。

與其他許多學科一樣,配置管理中有很多令人混淆的術語。在這本書裡我解決不了這個問題,但至少我會努力不使情況變得更糟。首字母縮寫scm曾被用來代表源代碼管理 (source code management) 和最近的軟體配置管理 (software configuration management) 。一個博學的同僚提醒我不要使情況變得更糟,是以當使用縮寫scm時,我僅指更廣泛的軟體配置管理,這是配置管理的一個專業領域(和第8章“硬體配置管理”中讨論的硬體配置管理相反)。同樣,縮寫ci代表的可以是配置項(configuration item)或者是持續內建(continuous integration)。 配置管理術語可能會相當令人混淆。我不能改變這種雙重用途的首字母縮寫詞造成的混亂,因為它很普遍,但會盡可能地做到清楚明晰。配置控制和釋出管理等術語也存在類似的問題,我将盡我所能地對這些術語提出明确的解釋。而更重要的是解釋如何在現實世界中實施這些方法。其次我希望能在網上和大家一起讨論如何使用這些術語以及它們的演變。

專業技術人員,包括開發經理、系統架構師、開發人員、系統工程師、硬體工程師、品質保證、品質工程、營運工程師、技術人員和項目經理都将受益于本書中的資訊。首席技術官、it審計師和公司經理們會特别喜歡建立it控制及規範的部分。無論是靈活愛好者還是采用經典的瀑布式生命周期,本書都将幫助你把工作做得更好。配置管理完全是關于如何成為一個好的企業員工的。企業有責任為公衆利益提供和維護技術報告,而新聞媒體則是喜歡報道其中一些企業的貪婪和無能。配置管理最佳實踐幫助確定全球經濟運作平穩,自動取款機工作正常,空中交通管制系統保持線上狀态等。如果你希望自己的技術開發工作更加高效并産生更高品質的産品,這本書就是給你的。

**[第i部分 配置管理核心實踐

第1章 源代碼管理

<a href="https://yq.aliyun.com/articles/93483">1.2 從哪裡開始</a>

<a href="https://yq.aliyun.com/articles/93488">1.3 源代碼管理核心概念</a>

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 變更集

<a href="https://yq.aliyun.com/articles/93489">1.4 權限和需求跟蹤</a>

<a href="https://yq.aliyun.com/articles/93492">1.5 管理全球分布式開發團隊</a>

<a href="https://yq.aliyun.com/articles/93493">1.6 工具的選擇</a>

1.6.1 開源軟體與商業軟體

1.6.2 産品成熟度和供應商承諾

1.6.3 可擴充性和開放的api

1.6.4 不要過度工程化源代碼管理

<a href="https://yq.aliyun.com/articles/93495">1.7 認識品質成本和總擁有成本</a>

<a href="https://yq.aliyun.com/articles/93497">1.8 教育訓練</a>

<a href="https://yq.aliyun.com/articles/93498">1.9 建立使用模型</a>

<a href="https://yq.aliyun.com/articles/93499">1.10 實施時間和風險</a>

<a href="https://yq.aliyun.com/articles/93500">1.11 建立支援過程</a>

<a href="https://yq.aliyun.com/articles/93502">1.12 進階特性和授權進階使用者</a>

<a href="https://yq.aliyun.com/articles/93553">1.13   結論</a>

**[第2章 建構工程

<a href="https://yq.aliyun.com/articles/93566">2.2 從哪裡開始</a>

<a href="https://yq.aliyun.com/articles/93573">2.3 建構工程的核心概念</a>

2.3.1 版本id和标記可執行檔案

2.3.2 不可變的版本id

2.3.3 打上版本标記或者标簽

2.3.4 管理編譯依賴

2.3.5 獨立建構

<a href="https://yq.aliyun.com/articles/93580">2.4 建立建構職能的注意事項</a>

2.4.1 推廣獨立建構

2.4.2 過度工程化建構

2.4.3 保持正直和誠實

2.4.4 隸屬研發部門引起的利益沖突

2.4.5 組織結構的選擇

<a href="https://yq.aliyun.com/articles/93596">2.5 建構工具評估和選擇</a>

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 對比優缺點達成一緻

<a href="https://yq.aliyun.com/articles/93605">2.6 品質和教育訓練成本</a>

<a href="https://yq.aliyun.com/articles/93614">2.7 把建構做得更好</a>

2.7.1 鮑勃的建構秘方

2.7.2 測試驅動的建構

2.7.3 信任,但仍要核查

2.7.4 飛機的駕駛艙

<a href="https://yq.aliyun.com/articles/93625">2.8 建構工程師的角色</a>

2.8.1 了解建構的項目

2.8.2 與開發人員合作

2.8.3 招募新人

<a href="https://yq.aliyun.com/articles/93630">2.9 架構是建構的基礎</a>

<a href="https://yq.aliyun.com/articles/93639">2.10 建立建構過程</a>

<a href="https://yq.aliyun.com/articles/93644">2.11 持續內建與每日建構</a>

<a href="https://yq.aliyun.com/articles/93651">2.12 建構工程的前景</a>

<a href="https://yq.aliyun.com/articles/93657">2.13   結論</a>

繼續閱讀