本章阐述持续集成系统的发展历程、持续集成系统的原理,以及持续集成系统的实现过程,目的是让大家全面了解持续集成系统,更加深入的学习持续集成系统的原理,为后续章节的学习做好准备。我会分享一些个人的经验。
1.1 传统的应用发布模式
1.2 2020了,什么是CI/CD?
1.3 Jenkins持续集成
-
什么是Agent ?
什么是Pipeline?
什么是Stage?
1.4 谈谈我的Jenkins实践经验
1.5 Jenkins的学习建议
1.1 传统的应用发布模式
如果你没有亲身体验过传统的应用发布,你可能不会觉得CI/CD有什么吸引人的地方。一般一个开发团队中都会存在多个角色:开发、测试、运维。当时我们的应用发布模式可以能是这样的:
开发同学进行项目代码开发,本地运行测试成功后将代码上传到版本控制系统。
开发同学通知运维同学项目可以发布了,然后运维同学下载代码进行打包和构建,生成应用制品。
运维同学使用部署脚本将生成的制品部署到测试环境,并提示测试同学可以进行产品的测试。
测试同学开始进行手动、自动化测试,测试完成后提醒运维同学可以进行预生产环境部署。
运维同学开始进行预生产环境部署,然后测试同学进行测试,测试完成后,开始部署生产环境。
当然我描述的可能只是其中的一部分,手动操作很多、出现的问题很多。上面看似很流畅的过程,其实每次构建或发布都可能会出现问题。未对每次提交验证、构建环境不一致:开发人员本地测试成功后提交代码,运维同学下载代码进行编译却出现了错误。
1.2 2020了,什么是CI/CD?
持续集成CI:是需要对开发人员每次的代码提交进行构建测试验证。确定每次提交的代码都是可以正常编译测试通过的。在没有持续集成