jenkins搭建新项目-shell脚本

背景:项目已成功配置在jenkins上,并发送至远程服务器启动,sh deploy.sh $deploy_path(deploy_path为上传的参数)

第一种:deploy.sh(在本路径下启动)

#!/bin/sh
export JAVA_HOME=/opt/tomcat/jdk1.8.0_91
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

cd /opt/app/qajira
ps -ef | grep qajira | grep java |grep -v grep |grep -v server| awk '{print $2}' | xargs -i kill -9 {}
sleep 2
sudo chmod 777 qajira-0.0.1-SNAPSHOT.jar
echo "start qajira-0.0.1-SNAPSHOT.jar port:8018"
BUILD_ID=

#java -jar qajira-1.0.jar &
nohup java -jar qajira-0.0.1-SNAPSHOT.jar > nohup.out &
echo "start done"
~
~

第二种:deploy.sh(将jar包发送至另一个目录下启动)

#!/bin/bash
deploy_path=$1 #jenkins上传的参数

export JAVA_HOME=/opt/tomcat/jdk1.8.0_91
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar



sudo rm -rf /opt/tomcat/${deploy_path}/*

echo "删除原jar包:/opt/tomcat/${deploy_path}/*";
echo "***************从jenkins接手到的数据deploy_path的值为:${deploy_path}*************";
scp /home/dev/qajira/*.jar /opt/tomcat/${deploy_path}/

echo "拷贝jar包到指定目录:/opt/tomcat/${deploy_path}/"
sleep 10

killFunction(){
   pids=`sudo ps -ef|grep "qajira" | grep -v "deploy.sh"  | grep -v  "grep"  |awk '{print $2}'`
   echo "pids: $pids"
   for id in $pids
        do
           sudo kill -9 $id
           echo "killed $id"
   done
}

echo "停服务ing..."
killFunction
sleep 30

while true;do
        count=`ps -ef|grep "qajira" |grep -v "grep"|grep -v deploy.sh |wc -l`
        echo "当前进程数:$count"
        if [ 0 != $count ];then
            echo "进程未kill完全,请稍等..."
            killFunction
            sleep 5
        else
            echo "进程kill完成,开始启动项目"
            break
fi
done


cd  /opt/tomcat/${deploy_path}/
chmod 777 qajira-0.0.1-SNAPSHOT.jar

nohup java -jar qajira-0.0.1-SNAPSHOT.jar > nohup.out &
#nohup java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005  -jar qajira-0.0.1-SNAPSHOT.jar  &
echo "重启服务完成"

第三种:deploy.sh(将war包发送至另一个目录下启动)

!/bin/bash
deploy_path=$1


deploy_path=$1
export JAVA_HOME=/opt/tomcat/jdk1.8.0_91

rm -rf /opt/tomcat/${deploy_path}/webapps/*
echo "删除原war包:/opt/tomcat/${deploy_path}/webapps/*";

scp /home/dev/financeTestService/*.war /opt/tomcat/${deploy_path}/webapps/
echo "拷贝war包到指定目录:/opt/tomcat/${deploy_path}/webapps/"
sleep 20

killFunction(){
   pids=`sudo ps -ef|grep ${deploy_path} | grep -v "deploy.sh"  | grep -v  "grep"  |awk '{print $2}'`
   echo "pids: $pids"
   for id in $pids
        do
           sudo kill -9 $id
           echo "killed $id"
   done
}

echo "停服务ing..."
killFunction
sleep 30

while true;do
        count=`ps -ef|grep ${deploy_path} |grep -v "grep"|grep -v deploy.sh |wc -l`
        echo "当前进程数:$count"
        if [ 0 != $count ];then
            echo "进程未kill完全,请稍等..."
            killFunction
            sleep 5
        else
            echo "进程kill完成,开始启动项目"
            break
fi
done

echo "开始重启服务"
sh /opt/tomcat/${deploy_path}/bin/startup.sh

echo "重启服务完成"
~
~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值