如何使用jenkins部署maven父子工程

 最近使用jenkins自动部署项目时遇到一个问题,若是部署单个的maven工程,没有什么问题,java

可是在部署maven建立的父子工程,若是只从svn或者git上拉取子工程源码时,会报找不到父git

工程pom或者relativePath的错误,这是由于,maven子工程是依赖父工程的pom的,因此拉取shell

代码的时候要先拉取整个父工程下来,而后再单个拉取子工程,也就是父工程建立一个任务,bash

而后子工程各一个任务。操做方式以下:服务器

说明:我使用的jenkins是root权限maven

首先登录jenkins到达jenkins工做台,Jenkins搭建能够搜一下,在这里只有使用方法svn

点击新建任务spa

开始配置3d

点击添加按钮日志

至此,父工程就能够构建一下,第一次构建会比较慢,下载的jar包比较多

构建完之后,就能够到服务器上查看打的jar包,具体路径能够问一下搭建jenkins的人员

下面就能够建立子工程的任务了,不一样的地方主要是下面两个:

第一个是在源码管理的时候,选择无,由于父工程打包后jar,全部工程都已经被打包

 

第二个是在构建的时候,就能够填写执行shell脚原本进行自动化部署项目了

脚本以下,可根据本身须要进行更改

BUILD_ID=DONTKILLME
#!/bin/bash
#获取你想运行jar包的进程号
pid=`ps -ef | grep 子工程jar包名称.jar | grep -v grep | awk '{print $2}'`
#若是存在则把该进程杀掉
if [ -n "$pid" ]
then
   echo "kill -9 的pid:" $pid
   kill -9 $pid
fi
echo "复制jar包"
#把jenkins打的jar包复制到本身指定的目录下
cp  /root/.jenkins/workspace/父工程项目名称/子工程项目名称/target/子工程jar包名称.jar /本身指定的目录路径/
echo "启动jar包"
#最后启动jar包并把日志输出到指定的文件中以便查看
nohup java -jar /本身指定的目录路径/子工程jar包名称.jar > /本身指定的目录路径/credit_manage.log &
相关文章
相关标签/搜索