CI/CD
Continuous Integration;
Continuous Deployment;
- 持续集成,将新代码和旧代码一起打包、构建;
- 持续部署,将新构建的包进行部署;
- 持续测试,将新代码、新单元测试一起测试;
- 方案:
- 公有云DevOps 平台,如gitlab runner,github action
- 服务器在国外,速度慢
- 使用YAML编写流程脚本
- 自建CI/CD平台,如jenkins(java编写)/ BuildBot(python编写地址)
- 可以执行任意的代码、搭建结果完全私有、开源的软件
- 公有云DevOps 平台,如gitlab runner,github action
持续测试
-
代码托管平台-gitee
编写简单的python项目,并上传gitee仓库
如。。。 -
在CentOS7中使用root用户启动jenkins,并在防火墙中开启对应端口。
# java11+ 启动jenkins
java -jar jenkens.war --httpPort=8081 --httpListenAddress=0.0.0.0
# 防火墙开放端口
firewall-cmd --permanent --add-port=8081/tcp
firewall-cmd --reload
- 使用创建的admin账户登录jenkins,并创建item
- 配置创建的jenkins项目;
这里添加项目的描述、配置git仓库地址(需要在gitee代码托管平台配置启动jenkins的账户下.ssh的公钥)及分支、配置build steps执行的shell命令、build triggers [poll SCM]、post-build actions(构建后的动作,如测试报告、邮件通知等);
- 手动执行构建(也可以提交代码到仓库自动触发构建)
流程总结
- 本地开发代码
- 提交到gitee仓库
- jenkins监控代码变化(poll轮询、webhook钩子)
- jenkins执行构建的命令
- jenkins生成测试报告
- 发送结果邮件通知