Jenkins sprongBoot项目自动化部署相关脚本

1 篇文章 0 订阅
1 篇文章 0 订阅
该脚本展示了如何使用Jenkins结合SSH执行命令,实现SpringBoot项目的自动化部署。脚本首先检查当前目录是否存在jar包,然后停止正在运行的应用,等待一段时间后再启动新的jar包,确保服务平滑过渡。Jenkins配置中,使用Maven和码云配合Send files or execute commands over SSH插件,将jar包传输到服务器并执行部署脚本。
摘要由CSDN通过智能技术生成

Jenkins sprongBoot项目自动化部署相关脚本

  1. 服务器相关脚本,将此脚本放到jar包同级目录
#!/bin/bash
source /etc/profile
BUILD_ID=dontKillMe


appName=`ls|grep .jar$`
if [ -z $appName ]
then
    echo "Please check that this script and your jar-package is in the same directory!"
    exit 0
fi

killForceFlag=$2

function start()
{
    count=`ps -ef |grep java|grep $appName|wc -l`
    if [ $count != 0 ];then
        echo "Maybe $appName is running, please check it..."
    else
        echo "The $appName is starting..."
        nohup java -jar $appName > /dev/null 2>&1 &
	sleep 10s
	today=`date +%Y-%m-%d`
	tail -f /usr/local/app/push_houses/log/applog/${today}/${today}.log | sed '/启动成功$/q'
    fi
}

function stop()
{
    appId=`ps -ef |grep java|grep $appName|awk '{print $2}'`
    if [ -z $appId ]
    then
        echo "Maybe $appName not running, please check it..."
    else
        echo -n "The $appName is stopping..."
        if [ "$killForceFlag" == "-f" ]
        then 
            echo "by force"
            kill -9 $appId
        else
            echo
            kill $appId
        fi
    fi
}

function status()
{
    appId=`ps -ef |grep java|grep $appName|awk '{print $2}'`
    if [ -z $appId ] 
    then
        echo -e "\033[31m Not running \033[0m" 
    else
        echo -e "\033[32m Running [$appId] \033[0m" 
    fi
}

function restart()
{
    stop
    for i in {3..1}
    do
        echo -n "$i "
        sleep 1
    done
    echo 0
    start
}

function usage()
{
    echo "Usage: $0 {start|stop|restart|status|stop -f}"
    echo "Example: $0 start"
    exit 1
}

case $1 in
    start)
    start;;

    stop)
    stop;;
    
    restart)
    restart;;
    
    status)
    status;;
    
    *)
    usage;;
esac
  1. jenkins内部配置脚本
    jenkins 配置我们使用 maven 加 码云的配置方式 使用 Send files or execute commands over SSH 方式发送jar包到服务器并重启
echo "执行脚本开始"
cd /usr/local/app/push_houses
echo "停止服务器"
sh app.sh stop
sleep 60s
echo "启动服务器"
sh app.sh start
echo "执行脚本结束"

按照以下方式配置jenkins
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值