持续集成(Continuous integration)是一种软件开发实践。 它倡导团队开发成员必须经常集成他们的工作,甚至每天都可能发生多次集成。
与持续集成相关的,还有两个概念,分别是持续交付(Continuous delivery)和持续部署(Continuous deployment)。持续交付在持续集成的基础上,将集成后的代码部署到更贴近真实运行环境的类生产环境中。持续部署是指当交付的代码通过评审之后,自动部署到生产环境中,持续部署是持续交付的最高阶段。
持续集成、持续交付和持续部署提供了一个优秀的 DevOps 环境,对于整个团队来说,好处与挑战并行。无论如何,频繁部署、快速交付以及开发测试流程自动化都将成为未来软件工程的重要组成部分。
通过此次课程能全面了解现有的主流 CI、CD 系统及其使用方式,学习使用 Docker 搭建 CI、CD 环境,学习使用 Docker 环境来执行 CI 测试和使用 Docker Swarm、Mesos/Marathon 来部署运行应用,了解在已有项目中引入 CI、CD 环节的方方面面,可以在此经验基建上向自己的开发流程中引入此环节以提高开发的质量和速度。
课程特色
-
什么是 CI/CD
-
为什么需要 CI/CD
-
CI/CD 的基本流程
-
CI/CD 的发展与现状
-
代码的提交与质量管控:Jenkins 与 Git
-
编译与部署
-
自动化测试:Jenkins 与自动化测试
-
发布与上线:从 CI 到 CD
-
钮博彦
,唱吧高级研发经理,负责唱吧测试开发、持续集成和 DevOps 等工作,从2007年开始曾就职于微软中国、雅虎北研等公司,一直专注于提升研发整体质量与效率,以及自动化测试与持续集成的架构设计。
-
何威威
,Acttao 技术总监,负责 Acttao 开发、运维等工作,2014 起在关注 Docker 技术,使用容器技术给公司的开发流程中引入持续集成以提升研发质量。对 Mesos、DevOps、OpenStack、Terraform 都很熟悉,在阿里云中维护着 Mesos 和 Docker Swarm 两个集群。