Jenkins执行远程脚本启动服务失败的问题解决

遇到一个很头疼的问题,Jenkins执行远程脚本启动服务器失败,远程脚本执行了,进程杀死了,备份文件也有了,就是服务器没有起起来,在而在Xshell里面启动脚本,服务可以启动.

#!/bin/sh
#当前时间
DATE=$(date +_%Y%m%d_%H%M)
export LANG="en_US.UTF-8"

JARFILE="/home/ltree/leimon-counter-zuul-uat/leimon-counter-zuul.jar"  #项目jar包名称
NAME="leimon-counter-zuul"         #项目名称
DIR="/home/ltree/leimon-counter-zuul-uat"       #项目发布根路径

PID=`ps -ef|grep $JARFILE|grep -v grep|awk '{printf $2}'`
APPDIR=`pwd`

echo "------------------------>程序_"$JARFILE"<------------------------"

#杀掉
if [ ! -n "$PID" ];
then
    echo "程序_"$JARFILE":未启动"
else
    echo $PID
    echo "程序_"$JARFILE"已启动,杀掉进程"  
    ps -ef | grep $JARFILE | grep -v grep | awk '{print $2}' | xargs kill -9
fi

#备份
echo "开始对程序_"$JARFILE"进行备份"
if [ ! -d $DIR/backup ];then
   #目录不存在,则创建目录
    echo "backup目录不存在,则创建backup目录"
	mkdir -p $DIR/backup
	echo "--------->进行备份<-----------"
    cd $DIR
	cp $JARFILE backup/$JARFILE$DATE 
	echo "--------->完成备份<-----------"
else
	echo "backup目录存在,则进入backup目录"
    echo "--------->进行备份<-----------"
    cd $DIR
	cp $JARFILE backup/$JARFILE$DATE 
	echo "--------->完成备份<-----------"
fi


#发布
echo "--------->开始启动:"$JARFILE"<-----------"
nohup java -Xms128m -Xmx128m -jar $JARFILE >/dev/null 2>&1 &echo "start begin"

if [ $? = 0 ];then
        sleep 20
fi
echo "--------->完成启动:"$JARFILE"<-----------"
#保留5个备份包
cd backup/
ls -lt|awk 'NR>5{print $NF}'|xargs rm -rf

这是我的脚本,百度之后将问题解决.

  • 需要同步远程服务器的环境变量
#发布
echo "--------->开始启动:"$JARFILE"<-----------"
source /etc/profile
nohup java -Xms128m -Xmx128m -jar $JARFILE >/dev/null 2>&1 &echo "start begin"

问题解决

你可能感兴趣的:(java,jenkins,服务器,运维)