CI/CD的流水线一般由按照一定的逻辑组织工具。下面是一个逻辑图串联工具形成的一个典型的CI/CD流程。
工具:
Bitbucket :代码托管工具
Jenkins :编译工具
Docker :打包工具
Slack/Email:通知工具
Artifactory/ECR :镜像存储工具
CICD流程图:
流程解释:
1:这个过程从开发提交代码到bitbucket开始。
2:开发工程师将代码提交到bitbucket之后,通过安装的hook插件触发Jenkins上对应的job对该工程进行编译。
3:如果编译成功了,接着触发打包。如果编译失败,触发slack发送消息给提交代码的开发人员,开发人员检查错误修复触发新一轮的CI过程。
4:打包成功后,启动一个单容器的docker container。如果出现运行时错误,发送错误信息给devops.如果没有运行时错误,触发自动化测试。
5:如果自动化测试有报错,发送错误信息给自动化测试工程师。如果自动化测试通过,给该打包出来的docker image打上一个有版本意义的tag,并且推送到镜像仓库ECR或者artifactory.
6: 根据自身业务需要,决定是否要部署到更高的环境。