Jenkins启动jar脚本

Windows

@echo off
setlocal enabledelayedexpansion

::设置端口 
set PORT=8088

:: 设置生成路径
set OLD_PATH=C:\ProgramData\Jenkins\.jenkins\workspace\plat-client-user\bex-client\bex-client-user\target

:: 设置新的存放路径
set NEW_PATH=C:\out

:: 设置jar包名
set JAR_NAME=bex-client-user.jar

::set /p port=Please enter the port :
for /f "tokens=1-5" %%a in ('netstat -ano ^| find ":%PORT%"') do (
   if "%%e%" == "" (
       set pid=%%d
   ) else (
       set pid=%%e
   )
   echo !pid!
   taskkill /f /pid !pid!
)

::复制文件
XCOPY %OLD_PATH%\%JAR_NAME%  "%NEW_PATH%" /y

::防止启动后被杀死进程
set BUILD_ID=dontKillMe 

::启动jar包
start javaw -jar %NEW_PATH%\%JAR_NAME%

Linux

#!/bin/bash
#author: fangzg
#date:2022年10月19日

PID=$(ps -ef | grep  bex-plat-client-user.jar | grep -v grep | awk '{ print $2 }')

if [ -z "$PID" ]
then
    echo "程序未启动。"
else
    echo "程序在启动中,正在停止..."
    sudo kill -9 $PID
fi


echo '开启启动程序 ...'
export BUILD_ID=dontKillMe
nohup java -jar   /var/lib/jenkins/workspace/plat-client-user/bex-client/bex-client-user/target/bex-plat-client-user.jar > run-server.log 2>&1 &



echo "starting service..."
sleep 20

#根据重启后是否有当前应用判断启动是否成功
endPID=$(ps -ef | grep  bex-plat-client-user.jar | grep -v grep | awk '{ print $2 }')

if [ -z "$endPID" ]
then
    echo "程序启动失败。"
else
    echo "程序重启成功...pid:"${endPID}
    
fi

可能出现的错误:

解决:

切换到root用户,执行命令visudo,找到下面这一行

#%wheel ALL=(ALL) NOPASSWD: ALL

在下一行输入

%smart ALL=(ALL) NOPASSWD: ALL

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值