陆老师 前微软亚洲工程院 自动化测试及持续集成负责人
现任Lane Crawford集团電(diàn)子商(shāng)務(wù)部副总监,负责由零开始组建電(diàn)子商(shāng)務(wù)部及全面将線(xiàn)下业務(wù)整合至線(xiàn)上,以及整个团队的岗位设置、人员招聘、日常管理(lǐ)、产品、研发、质量、东南亚市场运营、传统业務(wù)系统升级及流程重造等工作。目前研发团队覆盖中國(guó)大陆、香港、东南亚,将集团业務(wù)由B2C扩展至B2B及B2B2C多(duō)模式。同时负责整个集团的研发规范化。
具有(yǒu)超过10年技术团队管理(lǐ)工作经验,一直专注在大型系统软件开发、自动化测试及持续集成/持续交付、产品化等工作上,对技术团队管理(lǐ)也比较有(yǒu)经验。目前个人专注于自动化测试及持续集成/持续交付;产品设计框架及方法论;基于多(duō)租户技术的SaaS系统架构等技术方向。
曾就职于微软亚洲工程院,先后创建过多(duō)个不同职能(néng)的团队,有(yǒu)创新(xīn)型团队、执行型团队、以及保障型团队等。在团队结构优化、人才梯队建设、以及跨部门合作管理(lǐ)方面有(yǒu)丰富经验。注重培养团队的创新(xīn)能(néng)力,所带团队发表过12个國(guó)际专利、自主立项研发2个新(xīn)产品線(xiàn)。对如何发挥团队潜力有(yǒu)深入研究。擅長(cháng)团队激励,从基层员工发现及培养有(yǒu)潜力的管理(lǐ)者,所带过的团队均表现出团队整體(tǐ)能(néng)力及成熟度的持续提升!
• 微软亚洲工程院自动化框架设计及主程序之一
• 微软核心项目持续集成建设负责人
• 所研发的自动化测试及持续集成赢得微软工程技术创新(xīn)奖
• 带领团队建立微软亚洲工程院自动化实验室及持续集成系统
• Photoshop自动化框架及持续集成系统总设计师
• 建立Photoshop全球自动化实验室
• 在《程序员》杂志(zhì)上发表过数篇关于自动化测试技术及持续集成的文(wén)章
曾受邀在MSUP Top100及MPD会议上/沙龙上发表关于自动化测试、社交网络游戏产品设计核心等技术演讲。
课程简介
配置管理(lǐ)是持续集成及DevOps实施的重要技术支撑及实施基础。本课程全面细致地介绍配置管理(lǐ)的理(lǐ)论及最佳实践,包括版本控制、协同开发、跨产品版本管理(lǐ)、安全策略、构建管理(lǐ)、持续集成的完整过程。為(wèi)多(duō)人快速协同开发、敏捷测试、DevOps、持续集成及持续发布建设坚实的配置管理(lǐ)基础支撑。
學(xué)员可(kě)以系统性地掌握配置管理(lǐ)的相关知识、并合理(lǐ)进行分(fēn)支管理(lǐ)、基線(xiàn)管理(lǐ)等实战。通过本次培训可(kě)以為(wèi)快速协同开发环境及持续交付的项目要求提供有(yǒu)效支持。
将在课程中要逐一解决的问题:
1. 如何保证源码库中的代码的可(kě)用(yòng)性?
2. 在什么情况下使用(yòng)分(fēn)支?
3. 基線(xiàn)的类型有(yǒu)几种?分(fēn)别在什么情况下使用(yòng)?
4. 公司的项目背景对代码安全比较敏感,多(duō)个团队工作在一个大项目里,但希望每个团队只能(néng)访问自己团队部分(fēn)的源码,而技术上又(yòu)彼此依赖,有(yǒu)没有(yǒu)解决方案?
5. 哪些类型的文(wén)件适合纳入版本库?哪些文(wén)件类型不适合?希望有(yǒu)个最佳实践的规范建议
6. 公司有(yǒu)的是项目型开发、有(yǒu)的是产品型开发,这两种类型的版本管理(lǐ)有(yǒu)何不同?
7. 多(duō)团队协同开发的情况下应该如何合理(lǐ)进行版本控制?既能(néng)保证版本清晰、又(yòu)不会因為(wèi)一些改动影响效率。
• 配置管理(lǐ)员
• 开发人员
• 持续集成实施人员
• 开发经理(lǐ)、项目经理(lǐ)
第一章【软件配置管理(lǐ)基础理(lǐ)论】 这一模块先系统性地介绍软件配置管理(lǐ)以及版本控制的理(lǐ)论知识;让學(xué)员从原理(lǐ)上掌握版本管理(lǐ)的运行机制,為(wèi)后续建设配置管理(lǐ)體(tǐ)系的实战打下坚实的基础。 (1)什么是软件配置管理(lǐ) (2)案例分(fēn)享:对比导入版本控制之前之后的实际变化 (3)源代码版本控制的原理(lǐ) (4)版本管理(lǐ)工具的演进:集中式版本控制分(fēn)布式版本控制 (5)一个比较难招到人才的岗位:配置管理(lǐ)员 第二章【协同开发】 多(duō)人共同编辑和修改同一段源代码是开发团队的常见现象。这是协同开发必须面对的现象,本模块介绍配置管理(lǐ)的协同开发原则及冲突处理(lǐ)的方法,目标效果是在多(duō)人协同开发模式下保障版本清晰、版本演进、及项目效率 (1)工作空间与版本库的定位与用(yòng)途 (2)代码传递从星形模式到网状模式 (3)版本覆盖的预防 (4)版本冲突的处理(lǐ)方法和原则 (5)用(yòng)任務(wù)单元来组织工作 第三章【版本分(fēn)支的使用(yòng)及规范】 分(fēn)支是版本控制中的重要内容,它就像一把双刃剑,使用(yòng)得当则配置管理(lǐ)灵活又(yòu)强大、反之则增加了复杂性和混乱。本章内容分(fēn)享分(fēn)支的原理(lǐ)及重点讲解分(fēn)支使用(yòng)的最佳实践。 (1)深入理(lǐ)解何為(wèi)版本分(fēn)支 (2)库级分(fēn)支的配置及使用(yòng) (3)文(wén)件级分(fēn)支的版本规则及应用(yòng) (4)分(fēn)支的分(fēn)支 (5)分(fēn)支的合并及冲突处理(lǐ) (6)扩展讨论:开发库-受控库-产品库模式的优缺点 第四章【基線(xiàn)的使用(yòng)及规范】 基線(xiàn)同样是配置管理(lǐ)中的重要内容,合理(lǐ)使用(yòng)基線(xiàn)可(kě)以化繁為(wèi)简,通过各阶段的基線(xiàn)规则,可(kě)以让复杂的源码项目管理(lǐ)变得清晰。更重要的是,基線(xiàn)可(kě)以极大提高版本管理(lǐ)的可(kě)靠性。 (1)基線(xiàn)的概念及作用(yòng) (2)开发进程中的基線(xiàn)设置 (3)阶段性成果的基線(xiàn)应用(yòng) (4)发布级的基線(xiàn)设置 (5)分(fēn)支和基線(xiàn)的混合应用(yòng) (6)基線(xiàn)的合理(lǐ)使用(yòng),最佳实践分(fēn)享 第五章【跨产品版本管理(lǐ)及构建管理(lǐ)】 越来越多(duō)的软件或应用(yòng)以产品包的形式出现,例如微软的Office中有(yǒu)Word、Excel、PPT等;Adobe的CS中有(yǒu)Photoshop、Light Room、Illustrator等。这些软件即相对独立又(yòu)有(yǒu)很(hěn)多(duō)通用(yòng)共用(yòng)的代码块。这一章重点讲解跨产品版本管理(lǐ)的实践及方法 (1)构建管理(lǐ)的核心 (2)自动构建、每日构建、和构建分(fēn)级自动化 (3)通过构建级别的定义及使用(yòng)支撑跨产品技术集成 (4)产品内可(kě)使用(yòng)的构建等级 (5)跨产品可(kě)使用(yòng)的构建等级 (6)产品包级别的构建等级 第六章【配置管理(lǐ)的角色及安全设置】 源代码是团队的核心工作成果,所以安全是源代码管理(lǐ)中的核心关注点。本章用(yòng)一个多(duō)团队协同开发的实例讲解配置管理(lǐ)的安全策略、最佳实践、需要哪些角色、以及每一个角色的权限设置。 (1)系统级管理(lǐ)员的设定及权限 (2)项目级管理(lǐ)员的设定及权限 (3)用(yòng)户角色设定及权限 (4)全部访问控制及部分(fēn)访问控制 (5)实例分(fēn)享:多(duō)团队协同开发的安全策略 第七章【持续集成系统的设计及部署】 这一模块的目标是建设部署完备的持续集成系统:包括源码库、构建管理(lǐ)、任務(wù)调度系统、自动化系统、拓扑管理(lǐ)的综合应用(yòng)。这将是持续集成及DevOps的核心支撑。 (1)构建管理(lǐ)的原理(lǐ)及与源码管理(lǐ)的关系 (2)构建等级定义最佳实践 (3)每日构建的原则与难点,及相应的解决方法 (4)持续集成总體(tǐ)建设思路 (5)自动化测试+持续集成的运行部署策略 (6)测试环境及测试数据的自动化部署 (7)如何获取及分(fēn)析代码覆盖率检查 (8)多(duō)机器池自动化部署 (9)如何将大规模自动化+版本控制+持续集成部署為(wèi)一个复杂完备的大型配置管理(lǐ)體(tǐ)系 |