一、什么是持续集成(CI)
持续集成(Continuous integration ,CI)
持续集成就是在于”持续“两字,频繁的(一天多次)的将代码集成到主干(master),重复如上的工作。
说白了就是你公司要部署一套系统,能支持让所有的开发人员,都可以快速、集中式的提交代码,整合到一个主干线。
程序员本地写代码,通过git管理
推代码
↓
git仓库,gitlab,github
↓
仓库通知CI服务器,jenkins
↓
jenkins执行脚本,如对代码编译,测试,运行
↓
通知集成结果
↓
这里属于第一道流水线的测试完毕。
使用持续集成好处
1.快速发现错误,每完成一点更新,就集成到主干,可以快速发现bug,也容易定位错误。
2.节省人力成本,省去手动反复部署操作
3.加快软件开发进程
4.实时交付
5.防止大幅度偏离主干,如果不经常集成,主干也在更新,会导致后续集成难度增大,或是难以集成。
二、什么是持续部署(CD)
Continuous Deployment,持续部署,产品从开始到结束诞生的产物,在服务器上健康运行。
持续交付指的是在持续集成(CI)的环境基础之上,将代码自动化部署到预生产环境。
1. 程序员张三开发代码,git push 推送到 代码仓库
2. 开发老大,合并张三写的代码到master主线
3. 测试人员介入,进行代码的功能测试、白盒测试等
4. 代码测试验收完毕,运维基于jenkins实现代码部署到生产环境。