使用 jenkins 与 docker 完成 java 项目持续集成
2017-05-18 by dongnan
开始之前
思维导图
某个java项目已经完成容器化(docker),java项目持续集成场景如下图所示。

基本流程
- 当 git上有新的push产生时,触发jenkins构建任务。
- jenkins使用git插件- pull项目代码,并使用- maven插件完成如- build/make/test等上线前的准备工作。
- jenkins调用脚本插件,将编译后的文件(配置文件),附加到- tomcat镜像中。
- 将定制完成的 docker镜像推送到harbor仓库。
需要的组件
- jenkins持续集成工具。
- git仓库。
- maven(java 构建工具)。
- harbor(docker 仓库)。
- tomcat(docker 镜像)。
目标
- 借助 jenkins工具,自动构建java项目,并将编译好war包附加到tomcat镜像中。
- 使用 rancher平台提供的web/cli接口,完成项目的更新与升级。
持续集成的概念
持续集成,continuous integration ,简称 ci。
它倡导团队开发成员必须经常集成他们的工作,甚至每天都可能发生多次集成。
而每次的集成都是通过自动化的构建来验证,包括自动编译、测试和发布,从而尽快地发现集成错误,让团队能够更快的开发产品。
持续集成的特点
它是一个自动化的周期性的集成测试过程,从拉取代码、编译构建、运行测试、结果记录、测试统计等都是自动完成的,无需人工干预。
需要有专门的集成服务器来执行集成构建。需要有代码托管工具支持。
持续集成的作用
保证团队开发人员提交代码的质量,减轻了软件发布时的压力。 持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减少重复过程以节省时间、费用和工作量;