使用 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
。
它倡导团队开发成员必须经常集成他们的工作,甚至每天都可能发生多次集成。
而每次的集成都是通过自动化的构建来验证,包括自动编译、测试和发布,从而尽快地发现集成错误,让团队能够更快的开发产品。
持续集成的特点
它是一个自动化的周期性的集成测试过程,从拉取代码、编译构建、运行测试、结果记录、测试统计等都是自动完成的,无需人工干预。
需要有专门的集成服务器来执行集成构建。需要有代码托管工具支持。
持续集成的作用
保证团队开发人员提交代码的质量,减轻了软件发布时的压力。 持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减少重复过程以节省时间、费用和工作量;