美文网首页
jenkins使用shell自动化脚本的例子

jenkins使用shell自动化脚本的例子

作者: 小黑佬 | 来源:发表于2020-08-19 14:04 被阅读0次

平常工作中使用到的一下shell脚本例子,赖得下次再写一遍,在这儿做一下笔记,方便下次用的时候优化。
直接在jenkins登录vm执行shell脚本例子如下:

#######################push 推送jar包

JAR_HOME=/home/xxxx
JOB_PRO=xxxx-abc-projecet
JAR=xxxx-abc-projecet-0.0.1.jar
SOURCE_PATH=/tmp
backtime=_`date +%Y%m%d-%H%M`_bak

#create dir
if [ ! -d  ${JAR_HOME}/${JOB_PRO} ]; then
  mkdir ${JAR_HOME}/${JOB_PRO}
fi

if [ ! -d  ${JAR_HOME}/${JOB_PRO}/backup ]; then
  mkdir ${JAR_HOME}/${JOB_PRO}/backup
fi


#bacup

[ -f ${JAR_HOME}/${JOB_PRO}/${JAR} ]  &&  mv  ${JAR_HOME}/${JOB_PRO}/${JAR}  ${JAR_HOME}/${JOB_PRO}/backup/`expr $BUILD_NUMBER - 1`-${JAR}${backtime}


#move file
cp ${SOURCE_PATH}/${JAR}  ${JAR_HOME}/${JOB_PRO}/${JAR} 

#change home permission
chown xxxx:xxxx -R ${JAR_HOME}/${JOB_PRO}

#######################start  启动jar脚本

#!/bin/bash


start() {
source /etc/profile
JAR_PATH=/home/xxxx/xxxx-abc-projecet
JAR=xxxx-abc-projecet-0.0.1.jar
JAR_PRA="-Xms2048m -Xmx2048m -Xmn512m -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC"


echo "正在启动$JAR"
su -l xxxx -c "nohup java -jar -Dspring.cloud.config.profile=dev ${JAR_PRA} $JAR_PATH/$JAR >/dev/null 2>&1 &"
sleep 10
echo "$JAR启动成功"
}

start

################stop   停止jar包脚本,有点粗暴
#!/bin/bash

stop() {
source /etc/profile
admin_home=/home/xxxx/xxxx-abc-projecet
JAR=xxxx-abc-projecet-0.0.1.jar

# kill 之前正在运行的进程
admin_pid=$(ps -ef |grep $JAR |grep -v grep | awk '{print $2}')

#停止admin服务
for temp1_pid in ${admin_pid}
do
    kill -15 ${temp1_pid}
    echo "kill  $JOB_NAME进程:${temp1_pid}"
    sleep 10
done
}

stop

相关文章

网友评论

      本文标题:jenkins使用shell自动化脚本的例子

      本文链接:https://www.haomeiwen.com/subject/ctwrjktx.html