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

平常工作中使用到的一下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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

少陽君

谢谢老板的拿铁

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

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

打赏作者

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

抵扣说明:

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

余额充值