課程簡(jiǎn)介
配置管理是持續(xù)集成及DevOps實(shí)施的重要技術(shù)支撐及實(shí)施基礎(chǔ)。本課程全面細(xì)致地介紹配置管理的理論及最佳實(shí)踐,包括版本控制、協(xié)同開(kāi)發(fā)、跨產(chǎn)品版本管理、安全策略、構(gòu)建管理、持續(xù)集成的完整過(guò)程。為多人快速協(xié)同開(kāi)發(fā)、敏捷測(cè)試、DevOps、持續(xù)集成及持續(xù)發(fā)布建設(shè)堅(jiān)實(shí)的配置管理基礎(chǔ)支撐。
目標(biāo)收益
學(xué)員可以系統(tǒng)性地掌握配置管理的相關(guān)知識(shí)、并合理進(jìn)行分支管理、基線管理等實(shí)戰(zhàn)。通過(guò)本次培訓(xùn)可以為快速協(xié)同開(kāi)發(fā)環(huán)境及持續(xù)交付的項(xiàng)目要求提供有效支持。
將在課程中要逐一解決的問(wèn)題:
1. 如何保證源碼庫(kù)中的代碼的可用性?
2. 在什么情況下使用分支?
3. 基線的類型有幾種?分別在什么情況下使用?
4. 公司的項(xiàng)目背景對(duì)代碼安全比較敏感,多個(gè)團(tuán)隊(duì)工作在一個(gè)大項(xiàng)目里,但希望每個(gè)團(tuán)隊(duì)只能訪問(wèn)自己團(tuán)隊(duì)部分的源碼,而技術(shù)上又彼此依賴,有沒(méi)有解決方案?
5. 哪些類型的文件適合納入版本庫(kù)?哪些文件類型不適合?希望有個(gè)最佳實(shí)踐的規(guī)范建議
6. 公司有的是項(xiàng)目型開(kāi)發(fā)、有的是產(chǎn)品型開(kāi)發(fā),這兩種類型的版本管理有何不同?
7. 多團(tuán)隊(duì)協(xié)同開(kāi)發(fā)的情況下應(yīng)該如何合理進(jìn)行版本控制?既能保證版本清晰、又不會(huì)因?yàn)橐恍└膭?dòng)影響效率。
培訓(xùn)對(duì)象
? 配置管理員
? 開(kāi)發(fā)人員
? 持續(xù)集成實(shí)施人員
? 開(kāi)發(fā)經(jīng)理、項(xiàng)目經(jīng)理
課程大綱
第一章【軟件配置管理基礎(chǔ)理論】 這一模塊先系統(tǒng)性地介紹軟件配置管理以及版本控制的理論知識(shí);讓學(xué)員從原理上掌握版本管理的運(yùn)行機(jī)制,為后續(xù)建設(shè)配置管理體系的實(shí)戰(zhàn)打下堅(jiān)實(shí)的基礎(chǔ)。 |
(1)什么是軟件配置管理 (2)案例分享:對(duì)比導(dǎo)入版本控制之前之后的實(shí)際變化 (3)源代碼版本控制的原理 (4)版本管理工具的演進(jìn):集中式版本控制?分布式版本控制 (5)一個(gè)比較難招到人才的崗位:配置管理員 |
第二章【協(xié)同開(kāi)發(fā)】 多人共同編輯和修改同一段源代碼是開(kāi)發(fā)團(tuán)隊(duì)的常見(jiàn)現(xiàn)象。這是協(xié)同開(kāi)發(fā)必須面對(duì)的現(xiàn)象,本模塊介紹配置管理的協(xié)同開(kāi)發(fā)原則及沖突處理的方法,目標(biāo)效果是在多人協(xié)同開(kāi)發(fā)模式下保障版本清晰、版本演進(jìn)、及項(xiàng)目效率 |
(1)工作空間與版本庫(kù)的定位與用途 (2)代碼傳遞從星形模式到網(wǎng)狀模式 (3)版本覆蓋的預(yù)防 (4)版本沖突的處理方法和原則 (5)用任務(wù)單元來(lái)組織工作 |
第三章【版本分支的使用及規(guī)范】 分支是版本控制中的重要內(nèi)容,它就像一把雙刃劍,使用得當(dāng)則配置管理靈活又強(qiáng)大、反之則增加了復(fù)雜性和混亂。本章內(nèi)容分享分支的原理及重點(diǎn)講解分支使用的最佳實(shí)踐。 |
(1)深入理解何為版本分支 (2)庫(kù)級(jí)分支的配置及使用 (3)文件級(jí)分支的版本規(guī)則及應(yīng)用 (4)分支的分支 (5)分支的合并及沖突處理 (6)擴(kuò)展討論:開(kāi)發(fā)庫(kù)-受控庫(kù)-產(chǎn)品庫(kù)模式的優(yōu)缺點(diǎn) |
第四章【基線的使用及規(guī)范】 基線同樣是配置管理中的重要內(nèi)容,合理使用基線可以化繁為簡(jiǎn),通過(guò)各階段的基線規(guī)則,可以讓復(fù)雜的源碼項(xiàng)目管理變得清晰。更重要的是,基線可以極大提高版本管理的可靠性。 |
(1)基線的概念及作用 (2)開(kāi)發(fā)進(jìn)程中的基線設(shè)置 (3)階段性成果的基線應(yīng)用 (4)發(fā)布級(jí)的基線設(shè)置 (5)分支和基線的混合應(yīng)用 (6)基線的合理使用,最佳實(shí)踐分享 |
第五章【跨產(chǎn)品版本管理及構(gòu)建管理】 越來(lái)越多的軟件或應(yīng)用以產(chǎn)品包的形式出現(xiàn),例如微軟的Office中有Word、Excel、PPT等;Adobe的CS中有Photoshop、Light Room、Illustrator等。這些軟件即相對(duì)獨(dú)立又有很多通用共用的代碼塊。這一章重點(diǎn)講解跨產(chǎn)品版本管理的實(shí)踐及方法 |
(1)構(gòu)建管理的核心 (2)自動(dòng)構(gòu)建、每日構(gòu)建、和構(gòu)建分級(jí)自動(dòng)化 (3)通過(guò)構(gòu)建級(jí)別的定義及使用支撐跨產(chǎn)品技術(shù)集成 (4)產(chǎn)品內(nèi)可使用的構(gòu)建等級(jí) (5)跨產(chǎn)品可使用的構(gòu)建等級(jí) (6)產(chǎn)品包級(jí)別的構(gòu)建等級(jí) |
第六章【配置管理的角色及安全設(shè)置】 源代碼是團(tuán)隊(duì)的核心工作成果,所以安全是源代碼管理中的核心關(guān)注點(diǎn)。本章用一個(gè)多團(tuán)隊(duì)協(xié)同開(kāi)發(fā)的實(shí)例講解配置管理的安全策略、最佳實(shí)踐、需要哪些角色、以及每一個(gè)角色的權(quán)限設(shè)置。 |
(1)系統(tǒng)級(jí)管理員的設(shè)定及權(quán)限 (2)項(xiàng)目級(jí)管理員的設(shè)定及權(quán)限 (3)用戶角色設(shè)定及權(quán)限 (4)全部訪問(wèn)控制及部分訪問(wèn)控制 (5)實(shí)例分享:多團(tuán)隊(duì)協(xié)同開(kāi)發(fā)的安全策略 |
第七章【持續(xù)集成系統(tǒng)的設(shè)計(jì)及部署】 這一模塊的目標(biāo)是建設(shè)部署完備的持續(xù)集成系統(tǒng):包括源碼庫(kù)、構(gòu)建管理、任務(wù)調(diào)度系統(tǒng)、自動(dòng)化系統(tǒng)、拓?fù)涔芾淼木C合應(yīng)用。這將是持續(xù)集成及DevOps的核心支撐。 |
(1)構(gòu)建管理的原理及與源碼管理的關(guān)系 (2)構(gòu)建等級(jí)定義最佳實(shí)踐 (3)每日構(gòu)建的原則與難點(diǎn),及相應(yīng)的解決方法 (4)持續(xù)集成總體建設(shè)思路 (5)自動(dòng)化測(cè)試+持續(xù)集成的運(yùn)行部署策略 (6)測(cè)試環(huán)境及測(cè)試數(shù)據(jù)的自動(dòng)化部署 (7)如何獲取及分析代碼覆蓋率檢查 (8)多機(jī)器池自動(dòng)化部署 (9)如何將大規(guī)模自動(dòng)化+版本控制+持續(xù)集成部署為一個(gè)復(fù)雜完備的大型配置管理體系 |
第一章【軟件配置管理基礎(chǔ)理論】 這一模塊先系統(tǒng)性地介紹軟件配置管理以及版本控制的理論知識(shí);讓學(xué)員從原理上掌握版本管理的運(yùn)行機(jī)制,為后續(xù)建設(shè)配置管理體系的實(shí)戰(zhàn)打下堅(jiān)實(shí)的基礎(chǔ)。 (1)什么是軟件配置管理 (2)案例分享:對(duì)比導(dǎo)入版本控制之前之后的實(shí)際變化 (3)源代碼版本控制的原理 (4)版本管理工具的演進(jìn):集中式版本控制?分布式版本控制 (5)一個(gè)比較難招到人才的崗位:配置管理員 |
第二章【協(xié)同開(kāi)發(fā)】 多人共同編輯和修改同一段源代碼是開(kāi)發(fā)團(tuán)隊(duì)的常見(jiàn)現(xiàn)象。這是協(xié)同開(kāi)發(fā)必須面對(duì)的現(xiàn)象,本模塊介紹配置管理的協(xié)同開(kāi)發(fā)原則及沖突處理的方法,目標(biāo)效果是在多人協(xié)同開(kāi)發(fā)模式下保障版本清晰、版本演進(jìn)、及項(xiàng)目效率 (1)工作空間與版本庫(kù)的定位與用途 (2)代碼傳遞從星形模式到網(wǎng)狀模式 (3)版本覆蓋的預(yù)防 (4)版本沖突的處理方法和原則 (5)用任務(wù)單元來(lái)組織工作 |
第三章【版本分支的使用及規(guī)范】 分支是版本控制中的重要內(nèi)容,它就像一把雙刃劍,使用得當(dāng)則配置管理靈活又強(qiáng)大、反之則增加了復(fù)雜性和混亂。本章內(nèi)容分享分支的原理及重點(diǎn)講解分支使用的最佳實(shí)踐。 (1)深入理解何為版本分支 (2)庫(kù)級(jí)分支的配置及使用 (3)文件級(jí)分支的版本規(guī)則及應(yīng)用 (4)分支的分支 (5)分支的合并及沖突處理 (6)擴(kuò)展討論:開(kāi)發(fā)庫(kù)-受控庫(kù)-產(chǎn)品庫(kù)模式的優(yōu)缺點(diǎn) |
第四章【基線的使用及規(guī)范】 基線同樣是配置管理中的重要內(nèi)容,合理使用基線可以化繁為簡(jiǎn),通過(guò)各階段的基線規(guī)則,可以讓復(fù)雜的源碼項(xiàng)目管理變得清晰。更重要的是,基線可以極大提高版本管理的可靠性。 (1)基線的概念及作用 (2)開(kāi)發(fā)進(jìn)程中的基線設(shè)置 (3)階段性成果的基線應(yīng)用 (4)發(fā)布級(jí)的基線設(shè)置 (5)分支和基線的混合應(yīng)用 (6)基線的合理使用,最佳實(shí)踐分享 |
第五章【跨產(chǎn)品版本管理及構(gòu)建管理】 越來(lái)越多的軟件或應(yīng)用以產(chǎn)品包的形式出現(xiàn),例如微軟的Office中有Word、Excel、PPT等;Adobe的CS中有Photoshop、Light Room、Illustrator等。這些軟件即相對(duì)獨(dú)立又有很多通用共用的代碼塊。這一章重點(diǎn)講解跨產(chǎn)品版本管理的實(shí)踐及方法 (1)構(gòu)建管理的核心 (2)自動(dòng)構(gòu)建、每日構(gòu)建、和構(gòu)建分級(jí)自動(dòng)化 (3)通過(guò)構(gòu)建級(jí)別的定義及使用支撐跨產(chǎn)品技術(shù)集成 (4)產(chǎn)品內(nèi)可使用的構(gòu)建等級(jí) (5)跨產(chǎn)品可使用的構(gòu)建等級(jí) (6)產(chǎn)品包級(jí)別的構(gòu)建等級(jí) |
第六章【配置管理的角色及安全設(shè)置】 源代碼是團(tuán)隊(duì)的核心工作成果,所以安全是源代碼管理中的核心關(guān)注點(diǎn)。本章用一個(gè)多團(tuán)隊(duì)協(xié)同開(kāi)發(fā)的實(shí)例講解配置管理的安全策略、最佳實(shí)踐、需要哪些角色、以及每一個(gè)角色的權(quán)限設(shè)置。 (1)系統(tǒng)級(jí)管理員的設(shè)定及權(quán)限 (2)項(xiàng)目級(jí)管理員的設(shè)定及權(quán)限 (3)用戶角色設(shè)定及權(quán)限 (4)全部訪問(wèn)控制及部分訪問(wèn)控制 (5)實(shí)例分享:多團(tuán)隊(duì)協(xié)同開(kāi)發(fā)的安全策略 |
第七章【持續(xù)集成系統(tǒng)的設(shè)計(jì)及部署】 這一模塊的目標(biāo)是建設(shè)部署完備的持續(xù)集成系統(tǒng):包括源碼庫(kù)、構(gòu)建管理、任務(wù)調(diào)度系統(tǒng)、自動(dòng)化系統(tǒng)、拓?fù)涔芾淼木C合應(yīng)用。這將是持續(xù)集成及DevOps的核心支撐。 (1)構(gòu)建管理的原理及與源碼管理的關(guān)系 (2)構(gòu)建等級(jí)定義最佳實(shí)踐 (3)每日構(gòu)建的原則與難點(diǎn),及相應(yīng)的解決方法 (4)持續(xù)集成總體建設(shè)思路 (5)自動(dòng)化測(cè)試+持續(xù)集成的運(yùn)行部署策略 (6)測(cè)試環(huán)境及測(cè)試數(shù)據(jù)的自動(dòng)化部署 (7)如何獲取及分析代碼覆蓋率檢查 (8)多機(jī)器池自動(dòng)化部署 (9)如何將大規(guī)模自動(dòng)化+版本控制+持續(xù)集成部署為一個(gè)復(fù)雜完備的大型配置管理體系 |