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生成测试报告
 - 发送结果邮件通知
 



















