jenkins 基于git构建Maven项目,使用脚本启动jar

/ 中间件 / 615浏览

构建流程图

Jenkins持续集成配置,整体的建议流程图如下: alt 其实持续集成啊、自动部署啊这些概念的道理很简单,无非是有这么一个中间件工具,能通过自动任务在源码仓库中下载项目源码,然后编译后,可配置部署到服务器上,或其它容器中。

新任务

好了,那么jenkins就是这样的一个工具,安装部署好jenkins后,创建一个新的构建任务: alt 输入好项目名称,然后选择项目构建方式,这里使用maven构建: alt

基本配置

点击完成,进入项目基本配置:

源码配置

源码管理,有2个可选项,Git和Subversion(即svn)这里大多使用的是Git,输入可用的Git地址即可(如果Git不是公开的,那么你需要设置访问Key)。

然后源码地址配置好后,再选择你项目的分支,如果没有分支,默认使用*/master分支即可。 alt

构建触发器

构建触发器,也可以理解为构建条件(在什么时候构建),这里可以根据项目需要,选择定时构建、新commit构建等等。

比如在日程表里输入:0 22 * * *(表示每天晚上十点构建一次) alt

构建环境

项目使用了maven构建,这里需要配置构建的pom.xml文件,需要在RootPOM中填写你项目的相对pom路径(项目名/pom.xml)。

然后输入maven打包相关的命令,如:clean install package

alt

自动构建脚本

到这里,已经基于Maven编译打包了我们的最新项目,需要编写一些shell脚本来完成自动部署。

这里以本机部署为例(当然也可以部署到其它服务器,需要ssh的安全连接),部署流程:

alt

提供一下部署脚本:
stop.sh(其中corpdata-space-0.0.1.jar这个jar包为你项目的jar名称):

echo "Stopping corpdata-space..."
pid=`ps -ef | grep corpdata-space-0.0.1.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
   echo "kill -9 的pid:" $pid
   kill -9 $pid
fi

replace.sh:

cp /root/.jenkins/workspace/空间项目/corpdata-space/target/corpdata-space-0.0.1.jar /usr/local/server/corpdata-space

startup.sh:

java -jar /usr/local/server/corpdata-space/corpdata-space-0.0.1.jar