什么是CI/CD
在谈论软件开发时:
CI(Continuous Integration,持续集成):将各个开发人员的工作集合到一个代码仓库中。通常,每天都要进行几次,主要目的是尽早发现集成错误,使团队更加紧密结合,更好地协作。主要工作就是代码合并、构建、部署、测试都在一起。不断地执行这个过程,并对结果反馈。
CD(Continuous Deployment,持续部署):部署到测试环境、预生产环境、生产环境;
(Continuous Delivery,持续交付):将最终产品发布到生产环境,给用户使用。
相关术语:持续测试Continuous Testing和持续部署Continuous Deployment。
自动实现:
打包后直接进入服务器,没有容器情况下,脚本和配置文件会越来越多,很乱:
容器化后:
打包后进入镜像仓库HARBOR:
Jenkins与Docker的自动化CI/DI流水线实践:
Pipeline优点:
1.项目发布可视化。明确阶段,方便处理问题;
2.一个jenkinsfile文件管理整个项目生命周期;
3.jenkinsfile可以放在项目代码中版本管理。