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