如何使用jenkins部署maven父子工程
最近使用jenkins自动部署项目时遇到一个问题,如果部署单个的maven工程,没有什么问题,
但是在部署maven创建的父子工程,如果只从svn或者git上拉取子工程源码时,会报找不到父
工程pom或者relativePath的错误,这是因为,maven子工程是依赖父工程的pom的,所以拉取
代码的时候要先拉取整个父工程下来,然后再单个拉取子工程,也就是父工程创建一个任务,
然后子工程各一个任务。操作方式如下:
说明:我使用的jenkins是root权限
首先登陆jenkins到达jenkins工作台,Jenkins搭建可以搜一下,在这里只有使用方法

点击新建任务

开始配置


点击添加按钮




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

构建完以后,就可以到服务器上查看打的jar包,具体路径可以问一下搭建jenkins的人员
下面就可以创建子工程的任务了,不同的地方主要是下面两个:
第一个是在源码管理的时候,选择无,因为父工程打包后jar,所有工程都已经被打包

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

脚本如下,可根据自己需要进行更改
#Jekins构建完成后会自动关闭进程及其子进程,加上这一句可以避免自动关闭
BUILD_ID=DONTKILLME
# 下面这一句代表该文件使用的是bash语法
#!/bin/bash
#获取你想运行jar包的进程号,grep -v意为不包括(grep -v grep指的是不包括grep下的所有信息),awk '{print $2}'意为取第二个字段输出,赋值给pid
pid=`ps -ef | grep 子工程jar包名称.jar | grep -v grep | awk '{print $2}'`
#如果存在则把该进程杀掉,echo表示输出日志,$符号表示获取变量的值
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 &
如何使用jenkins部署maven父子工程的更多相关文章
- 构建Maven父子工程
IDEA构建maven父子工程: 1.打开IDEA,Create New Project 如图: 如果没有弹出新建界面,可以先 file-->Close Project 如图: 2.创建父 ...
- 在idea中创建maven父子工程,子工程无法导入父工程依赖的问题
创建maven父子工程时遇到一个问题,当子工程的名称前缀和父工程的名称一样时,子工程会出现一系列的问题.比如我的父工程名称是microservicecloud,子工程名称是microservicecl ...
- Maven 父子工程的一些细节
Project,项目,也叫做工程. 父子工程中,子模块会自动继承父工程的资源.依赖,但子模块之间是独立的,不能直接访问彼此中的资源.类. 就是说我们可以把多个子模块都要用的资源.依赖提出来,放到父工程 ...
- Jenkins+Docker部署Maven聚合工程
这几天,把公司的预发布环境,改成docker部署,遇到了一些坑,有jenkins里的部署脚本的问题,也有harbor仓库的问题,还有docker远程访问的问题,还有DooD....一堆坑 Jenkin ...
- 170310、Jenkins部署Maven多环境项目(dev、beta、prod)的参数设置
使用Jenkins配置Git+Maven的自动化构建: http://blog.csdn.net/xlgen157387/article/details/50353317 在一个多开发和生产环境的项目 ...
- Maven父子工程,子项目变灰,提示该项目已被移除出maven父工程
最近使用maven的父子工程结构搭建微服务架构时,不知道什么原因, 子工程总是被莫名移除出父工程,然后打包处的项目名变成了灰色, 重启该项目时会提示,“该子项目已被移除,是否删除该项目”,这个 当然不 ...
- Jenkins部署maven项目到远端服务器
jenkins服务器地址:192.168.1.203 项目部署机器地址:192.168.1.201,192.168.1.200 代码托管github 虽然比较low,但是入门是可以的! Jenkins ...
- maven 父子工程打包 并且上传linux服务器
先对父工程进行 mvn clean 再对子工程执行 install wagon:upload-single wagon:sshexec 使用wagon前提: 本地maven 的settings.xml ...
- Maven父子工程配置文件详解
项目骨架搭建成功之后. 因为父工程管理子工程.子工程相当于继承于子工程,所以子工程可以调用父工程里面的东西.那么就可以将jar包对应的配置文件书写到父工程的pom.xml文件中,注意:父工程的打包方式 ...
随机推荐
- 压测引起的 nginx报错 502 no live upstreams while connecting to upstream解决
对系统的某个接口进行极限压测,随着并发量上升,nginx开始出现502 no live upstreams while connecting to upstream的报错,维持最大并发量一段时间,发现 ...
- Java多线程的Semaphore
Semaphore 信号量, 在多线程应用中, 用来控制同时访问某个特定资源的操作数量, 或者同时执行某个指定操作的数量, 还可以用来实现某种资源池限制, 或者对容器施加边界. 简单地说, Semap ...
- 分布式事务之最终一致性BASE理论
一.事务 事务提供一种机制将一个活动涉及的所有操作纳入到一个不可分割的执行单元,组成事务的所有操作只有在所有操作均能正常执行的情况下方能提交,只要其中任一操作执行失败,都将导致整个事务的回滚.简单地说 ...
- index row size 2720 exceeds maximum 2712 for index "xxx" ,Values larger than 1/3 of a buffer page cannot be indexed.
记录一个bug情况: 我有个表NewTable,复合主键(slaveid,resid,owner) CREATE TABLE "public"."NewTable&quo ...
- JAVA Asponse.Word Office 操作神器,借助 word 模板生成 word 文档,并转化为 pdf,png 等多种格式的文件
一,由于该 jar 包不是免费的, maven 仓库一般不会有,需要我们去官网下载并安装到本地 maven 仓库 1,用地址 https://www-evget-com/product/564 ...
- TestDirector(TD)—测试管理工具
简介 TestDirector是全球最大的软件测试工具提供商Mercury Interactive公司生产的企业级测试管理工具,也是业界第一个基于Web的测试管理系统,它可以在您公司内部或外部进行全球 ...
- 【视频开发】CximageMat 、CximagelplImage 以及 lplImageMat的转换、像素位深度
1.传统的lplImage * -------> Mat格式 IplImage* img = cvLoadImage("greatwave.png", 1); Mat mtx ...
- 常用的python的内置库或者第三方库
内置库:re,json,time,random,sys,os, 第三方库:转载: https://www.cnblogs.com/jiangchunsheng/p/9275881.htmlReques ...
- POJ 2106 Boolean Expressions
总时间限制: 1000ms 内存限制: 65536kB 描述 The objective of the program you are going to produce is to evaluate ...
- mac自带ssh在哪
打开Finder,前往> 前往文件夹,输入 ~/.ssh 回车就到ssh目录了. 点击Mac顶部菜单-->“苹果”图标-->最近使用的项目-->终端--输入 open ~/.s ...