一,CI/CD流程和持续交付简介
CI(Continuous Integration)持续集成
CD(Continuous Deployment)持续部署
CD(Continuous delivery)持续交付
持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。持续集成的邮件可参考文章https://www.jianshu.com/p/325f447e7881 。
·本文展示了CI/CD的一种解决方案,下文将进行基于这种方案的持续集成流水线的流程说明。使用到的开源组件如下:
1,git 代码仓库
2,gerrit 代码审查
3,sonarqube 代码质量检查
4,jenkins 自动化工具
5,sonatype nexus maven私库
6,rundeck 自动化工具
7,dashboard 问题跟踪
二,架构图及流程介绍
根据架构图简单概述为几个阶段:
一, 提交阶段
1,开发人员提交代码到git仓库。
2,开发人员使用sonarqube进行代码质量检查并根据检查结果进行修复代码。
3,测试人员使用jenkins对代码进行构建并进行单元测试、代码质量检查。
3,运维人员使用jenkins对代码进行构建并打包发布到测试环境。
二,测试阶段
1,测试人员使用jenkins进行集成测试
2,测试人员使用jenkins进行容量测试
三,发布阶段
1,运维人员使用jenkins将经过测试的master分支的包发布到生产环境