Jenkins启动jar脚本
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
更多推荐
已为社区贡献2条内容
所有评论(0)