jenkins发布mq jar项目sh脚本

#!/bin/bash

#项目名称
projectName=derp-mq-push-api
#环境变量
source /etc/profile
export BUILD_ID=$projectName #随便写
export JAVA_HOME=/usr/local/jdk1.8

#config配置文件
configPath=/data/config/derp-config-3.0-SNAPSHOT.jar
#mq目录
mqPath=/data/mq/derp-mq-push-api

#备份目录
bakPath=/data/bak/$projectName$(date +%Y%m%d%H%M)/
#code包目录
codetempPath=/data/codetemp/$projectName

# 部署代码
function deploy()
{
    #备份代码
    echo "******************备份代码***************************"
    mkdir $bakPath
    cp -rf $mqPath $bakPath
    checkExecution
    
    #清除旧代码
    #echo "*****************清除旧代码********************"
    #cd $mqPath
    #checkExecution
    #rm -rf $projectName".jar"
    #cd lib
    #checkExecution
    #rm -rf *
    #checkExecution
    
    #拷贝代码
    echo "******************拷贝代码**********************"
    cp -rf $codetempPath/* $mqPath
    checkExecution
    
    #拷贝配置文件
    echo "******************拷贝配置文件**********************"
    cp -rf $configPath $mqPath/lib/
    checkExecution

    #清空代码仓库
    #echo "******************删除临时代码**************"
    #cd $codetempPath
    #rm -rf *

}

# 停止mq
function stopMq()
{
    echo "*****************关闭Mq************************"
    #找出进程ID
    PID=`ps -ef|grep $projectName|grep java|awk '{print $2}'`
        echo $PID
        kill -9 ${PID}    #一次性kill掉所有进程ID

        #方式二 循环kill进程

        #for id in $PID
        #do
          #echo "java process id: "$id
          #`kill -9 ${id}`
        #done
    #sleep 1s
    echo "*****************关闭Mq完成***************"
}

# 启动mq
function startMq()
{
     cd $mqPath
    echo "*****************启动Mq**********************"
    sh startup.sh
    checkExecution
    echo "*****************启动Mq完成**************"
}

# 检查命令是否正确执行
function checkExecution()
{
    if [ ! $? -eq 0 ];then
        exit 1
    fi
}

#停止Mq
stopMq

#部署项目
deploy

#启动Mq
startMq

发布了211 篇原创文章 · 获赞 96 · 访问量 75万+

猜你喜欢

转载自blog.csdn.net/yucaifu1989/article/details/104050895