陸老師 前微軟亞洲工程院 自動化測試及持續集成負責人
現任Lane Crawford集團電子商務部副總監,負責由零開始組建電子商務部及全面將線下業務整合至線上,以及整個團隊的崗位設置、人員招聘、日常管理、產品、研發、質量、東南亞市場運營、傳統業務系統升級及流程重造等工作。目前研發團隊覆蓋中國大陸、香港、東南亞,將集團業務由B2C擴展至B2B及B2B2C多模式。同時負責整個集團的研發規范化。
具有超過10年技術團隊管理工作經驗,一直專注在大型系統軟件開發、自動化測試及持續集成/持續交付、產品化等工作上,對技術團隊管理也比較有經驗。目前個人專注于自動化測試及持續集成/持續交付;產品設計框架及方法論;基于多租戶技術的SaaS系統架構等技術方向。
曾就職于微軟亞洲工程院,先后創建過多個不同職能的團隊,有創新型團隊、執行型團隊、以及保障型團隊等。在團隊結構優化、人才梯隊建設、以及跨部門合作管理方面有豐富經驗。注重培養團隊的創新能力,所帶團隊發表過12個國際專利、自主立項研發2個新產品線。對如何發揮團隊潛力有深入研究。擅長團隊激勵,從基層員工發現及培養有潛力的管理者,所帶過的團隊均表現出團隊整體能力及成熟度的持續提升!
• 微軟亞洲工程院自動化框架設計及主程序之一
• 微軟核心項目持續集成建設負責人
• 所研發的自動化測試及持續集成贏得微軟工程技術創新獎
• 帶領團隊建立微軟亞洲工程院自動化實驗室及持續集成系統
• Photoshop自動化框架及持續集成系統總設計師
• 建立Photoshop全球自動化實驗室
• 在《程序員》雜志上發表過數篇關于自動化測試技術及持續集成的文章
曾受邀在MSUP Top100及MPD會議上/沙龍上發表關于自動化測試、社交網絡游戲產品設計核心等技術演講。
課程簡介
配置管理是持續集成及DevOps實施的重要技術支撐及實施基礎。本課程全面細致地介紹配置管理的理論及最佳實踐,包括版本控制、協同開發、跨產品版本管理、安全策略、構建管理、持續集成的完整過程。為多人快速協同開發、敏捷測試、DevOps、持續集成及持續發布建設堅實的配置管理基礎支撐。
學員可以系統性地掌握配置管理的相關知識、并合理進行分支管理、基線管理等實戰。通過本次培訓可以為快速協同開發環境及持續交付的項目要求提供有效支持。
將在課程中要逐一解決的問題:
1. 如何保證源碼庫中的代碼的可用性?
2. 在什么情況下使用分支?
3. 基線的類型有幾種?分別在什么情況下使用?
4. 公司的項目背景對代碼安全比較敏感,多個團隊工作在一個大項目里,但希望每個團隊只能訪問自己團隊部分的源碼,而技術上又彼此依賴,有沒有解決方案?
5. 哪些類型的文件適合納入版本庫?哪些文件類型不適合?希望有個最佳實踐的規范建議
6. 公司有的是項目型開發、有的是產品型開發,這兩種類型的版本管理有何不同?
7. 多團隊協同開發的情況下應該如何合理進行版本控制?既能保證版本清晰、又不會因為一些改動影響效率。
• 配置管理員
• 開發人員
• 持續集成實施人員
• 開發經理、項目經理
第一章【軟件配置管理基礎理論】 這一模塊先系統性地介紹軟件配置管理以及版本控制的理論知識;讓學員從原理上掌握版本管理的運行機制,為后續建設配置管理體系的實戰打下堅實的基礎。 (1)什么是軟件配置管理 (2)案例分享:對比導入版本控制之前之后的實際變化 (3)源代碼版本控制的原理 (4)版本管理工具的演進:集中式版本控制?分布式版本控制 (5)一個比較難招到人才的崗位:配置管理員 第二章【協同開發】 多人共同編輯和修改同一段源代碼是開發團隊的常見現象。這是協同開發必須面對的現象,本模塊介紹配置管理的協同開發原則及沖突處理的方法,目標效果是在多人協同開發模式下保障版本清晰、版本演進、及項目效率 (1)工作空間與版本庫的定位與用途 (2)代碼傳遞從星形模式到網狀模式 (3)版本覆蓋的預防 (4)版本沖突的處理方法和原則 (5)用任務單元來組織工作 第三章【版本分支的使用及規范】 分支是版本控制中的重要內容,它就像一把雙刃劍,使用得當則配置管理靈活又強大、反之則增加了復雜性和混亂。本章內容分享分支的原理及重點講解分支使用的最佳實踐。 (1)深入理解何為版本分支 (2)庫級分支的配置及使用 (3)文件級分支的版本規則及應用 (4)分支的分支 (5)分支的合并及沖突處理 (6)擴展討論:開發庫-受控庫-產品庫模式的優缺點 第四章【基線的使用及規范】 基線同樣是配置管理中的重要內容,合理使用基線可以化繁為簡,通過各階段的基線規則,可以讓復雜的源碼項目管理變得清晰。更重要的是,基線可以極大提高版本管理的可靠性。 (1)基線的概念及作用 (2)開發進程中的基線設置 (3)階段性成果的基線應用 (4)發布級的基線設置 (5)分支和基線的混合應用 (6)基線的合理使用,最佳實踐分享 第五章【跨產品版本管理及構建管理】 越來越多的軟件或應用以產品包的形式出現,例如微軟的Office中有Word、Excel、PPT等;Adobe的CS中有Photoshop、Light Room、Illustrator等。這些軟件即相對獨立又有很多通用共用的代碼塊。這一章重點講解跨產品版本管理的實踐及方法 (1)構建管理的核心 (2)自動構建、每日構建、和構建分級自動化 (3)通過構建級別的定義及使用支撐跨產品技術集成 (4)產品內可使用的構建等級 (5)跨產品可使用的構建等級 (6)產品包級別的構建等級 第六章【配置管理的角色及安全設置】 源代碼是團隊的核心工作成果,所以安全是源代碼管理中的核心關注點。本章用一個多團隊協同開發的實例講解配置管理的安全策略、最佳實踐、需要哪些角色、以及每一個角色的權限設置。 (1)系統級管理員的設定及權限 (2)項目級管理員的設定及權限 (3)用戶角色設定及權限 (4)全部訪問控制及部分訪問控制 (5)實例分享:多團隊協同開發的安全策略 第七章【持續集成系統的設計及部署】 這一模塊的目標是建設部署完備的持續集成系統:包括源碼庫、構建管理、任務調度系統、自動化系統、拓撲管理的綜合應用。這將是持續集成及DevOps的核心支撐。 (1)構建管理的原理及與源碼管理的關系 (2)構建等級定義最佳實踐 (3)每日構建的原則與難點,及相應的解決方法 (4)持續集成總體建設思路 (5)自動化測試+持續集成的運行部署策略 (6)測試環境及測試數據的自動化部署 (7)如何獲取及分析代碼覆蓋率檢查 (8)多機器池自動化部署 (9)如何將大規模自動化+版本控制+持續集成部署為一個復雜完備的大型配置管理體系 |