Jenkins与GitLab集成自动化测试与部署详细教程——构建Maven项目(三)

当Jenkins和需要发布的服务在同一台服务器时,想要把Jar包拷贝到指定的文件夹并发布。配置与Jenkins与GitLab集成自动化测试与部署详细教程——构建Maven项目(一)稍微不同。

  1. 停止原来的服务
  2. 将Jenkins的打包结果拷贝到指定目录下,替换原来的jar包
  3. 运行新的jar包
    在前面Jenkins构建Maven项目的基础上,修改项目配置,添加构建前后操作

操作

添加构建前操作

Jenkins中修改项目配置,Pre Steps中点添加然后选择execute shell,
然后添加下面代码

# 跳转到指定文件夹
cd /root/insurance/geosign/
# 执行文件夹下的停止服务的脚本(需要提前开发并放置在文件夹下)
sh startup.sh -stop

添加构建后操作

在Post Steps中中点添加然后选择execute shell,勾选Run only if build succeeds,
输入下面代码

# 等待1分钟
sleep 1m
# 将jar包拷贝到指定目录下
cp -Rf target/*.jar /root/insurance/geosign/
# 跳转到文件夹下执行启动脚本
cd /root/insurance/geosign/
BUILD_ID=DONTKILLME
sh startup.sh -start

需要注意的是等待1分钟是为了避免文件不存在报错 


配置正确的话,此时进行代码推送,自动会运行jar包

启动和停止服务的代码如下,可供其他项目参考

#!/bin/bash -ilex
CMD=$1
DIRNAME=$0
if [ "${DIRNAME:0:1}" = "/" ];then
  CURDIR=`dirname $DIRNAME`
else
  CURDIR="`pwd`"/"`dirname $DIRNAME`"
fi
 echo "----------开始运行"
jarpath=test
jarport=8061
#source /etc/profile
#source ~/.bash_profile
  echo "----------刷新变量"
case $CMD in
-start)
        echo "----------启动服务"
        nohup java  -jar /root/insurance/geosign/geosign.jar > nohup.out  2>&1 &
        ;;
-stop)
         echo "----------停止运行"
        pid=$(netstat -tnlp | grep -w ':'$jarport |awk '{print $nf}' | sed -r 's#.* (.*)/.*#\1#')
        if [  -n  "$pid"  ];  then
        kill $pid;
        fi
        ;;
-restart)
        pid=$(netstat -tnlp | grep -w ':'$jarport |awk '{print $nf}' | sed -r 's#.* (.*)/.*#\1#')
        if [  -n  "$pid"  ];  then
         kill $pid;
        fi
        nohup java  -jar /root/insurance/geosign/geosign.jar > nohup.out  2>&1 &
        ;;
esac

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

GIS开发者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值