随着DevOps理念和敏捷理念的发展,我们都希望通过自动化技术,加快项目的迭代。尤其是当使用微服务系统架构之后,功能的叠加,对应服务的数量也在增加,大小功能的快速迭代,更加要求部署的快速化,智能化。因此,传统的人工部署已经心有余而力不足,所以合理的使用持续集成,持续部署可以极大的提高生产效率,提高团队整体效率不可或缺的一环。那么Jenkins可以帮你构建一个自动化的持续集成环境,你可以使用它来“自动化”编译、打包、分发部署你的应用,同时跟svn、git能无缝集成,也支持直接与知名源代码托管网站,比如github,码云可以直接集成.
接下来我们来介绍下整个工作流程
- 开发人员向自己的git仓库提交了代码
- 接下来进入自动化构建过程,这边要说下,需要开发手动点击build按钮,当然你也可以利用webhooks来触发jenkins构建,进行全自动发布,但有些特殊情况下不建议这么做,比如说QA测试到一半,开发又向git仓库提交代码,结果触发jenkins自动构建了,容易影响到测试。
- 首先会Jenkins会自动拉取最新的代码。
- 成功拉取代码之后,会继续进入Maven编译阶段,如果这个阶段编译出错了,构建立马终止,所以使用流水行发布,可以快速的定位出问题的点。接下来,才会进入Docker镜像构建环节。
- 构建镜像,是调用docker命令构建好服务镜像,并且推送到私有镜像仓库。
- 最后,将自动下载镜像并且部署到Rancher,至于这个Rancher,它是一个容器管理平台.
转载于:https://blog.51cto.com/11243465/2156637