zoukankan      html  css  js  c++  java
  • 如何使用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 &
  • 相关阅读:
    多西:一个创立了Twitter与Square的程序员
    越狱黑客Comex结束苹果实习生涯 将专注学校学习生活
    关于从页面中获取用户控件中的其它控件(如DropDownList)事件的方法
    如何更改VS2010的[默认开发语言]默认环境设置
    TRULY Understanding ViewState exactl
    .net平台下xml操作
    正则表达式学习2
    正则表达式学习3
    petshop 出现没有为 SQL 缓存通知启用数据库“MSPetShop4”
    利用ashx以XML返回的形式和ajax实现表格的异步填充
  • 原文地址:https://www.cnblogs.com/java-spring/p/10967151.html
Copyright © 2011-2022 走看看