Jenkins ssh 打包发布到远程服务器

要求:

        通过Jenkins的插件Publish Over SSH(版本1.24),实现打包发布到远程服务器上

注意事项:

        1、Build Steps时:

                构建选择 -- Send files or execute commands over SSH

                利用该软件的远程登录功能,传输到服务器,进行服务重启

        2、Transfer Set:

                Transfer Set Source files:默认在当前工作空间的target目录下面

                Remote directory:推送到远程服务器目录,默认(/root/target)

                Exec command:登录系统后要执行的shell命令 

Exec command通用脚本(war包版):

#!/bin/bash
export JAVA_HOME=/usr/local/java/jdk1.8
PROJECT_NAME='war包名字'
ROOTDIR='/root/target'
TOMCAT_HOME='/lvdisk/xxx/tomcat-base'

echo "init-PROJECT_NAME:$PROJECT_NAME"
echo "init-ROOTDIR:$ROOTDIR"
echo "init-TOMCAT_HOME:$TOMCAT_HOME"

echo 'shoutdown tomcat'
sh ${TOMCAT_HOME}/bin/shutdown.sh
PID=`ps -ef|grep java|grep ${TOMCAT_HOME}/ |grep -v grep|awk 'NR==1{print $2}'`
echo "get this PID:$PID"
for id in $PID
do	
 kill -9 $id  
 echo "killed PID: $id"  
done
sleep 3s

echo 'copy oldwar to datetime'
BAK_FILE=`date +%Y%m%d%H%M`
jarFile=${TOMCAT_HOME}/ROOT.war
if [  -f "$jarFile" ]; then
   mv $jarFile  $jarFile$BAK_FILE
fi

echo 'rm -rf ROOT'
rm -rf ${TOMCAT_HOME}/webapps/ROOT
echo 'rm -rf ROOT.war'
rm -rf ${TOMCAT_HOME}/webapps/ROOT.war

echo 'mv new war to tomcat'
mv ${ROOTDIR}/${PROJECT_NAME}.war ${TOMCAT_HOME}/webapps/ROOT.war

echo 'rm -rf ROOTDIR'
rm -rf ${ROOTDIR}

export BUILD_ID=dontKillMe
echo 'start tomcat'
sh ${TOMCAT_HOME}/bin/startup.sh

Exec command通用脚本(jar包版):

#!/bin/bash
#删除历史数据
rm ‐rf xxoo
appname=$1
#获取传入的参数
echo "arg:$1"
#获取正在运行的jar包pid
pid=`ps ‐ef | grep $1 | grep 'java ‐jar' | awk '{printf $2}'`
echo $pid
#如果pid为空,提示一下,否则,执行kill命令
if [ ‐z $pid ];
#使用‐z 做空值判断
        then
                echo "$appname not started"
        else
               kill ‐9 $pid
                echo "$appname stoping...."
check=`ps ‐ef | grep ‐w $pid | grep java`
if [ ‐z $check ];
        then
                echo "$appname pid:$pid is stop"
        else
                echo "$appname stop failed"
fi
fi

脚本执行打印开关:

        

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值