springboot Jar包 部署到Linux服务器的两种方式

1 手动上传jar包后部署

1.1 下载安装lrzsz

lrzsz是一个文件上传和下载的工具软件包,我们可以使用上传rz、下载sz命令。

1.2 上传jar包

我们可以输入命令 rz -y(rz 代表上传, -y 可以强制覆盖文件),会弹出一个文件选择框,我们可以鼠标选择jar包位置,确定即可,下次再上传的时候会直接弹出jar包窗口,当然下次用的时候也可以用tab键光标跳转选择,这就完全不用鼠标了,注意下面发送文件到ASCII不要打钩。
在这里插入图片描述

1.3 执行脚本

项目重启的脚本,写个start.sh 的脚本,注意脚本和jar包同级目录 , 如下:

#!/bin/sh
RESOURCE_NAME=resource-0.0.1-SNAPSHOT.jar
 
tpid=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Stop Process...'
kill -15 $tpid
fi
sleep 5
tpid=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Kill Process!'
kill -9 $tpid
else
echo 'Stop Success!'
fi
 
tpid=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
    echo 'App is running.'
else
    echo 'App is NOT running.'
fi
 
rm -f tpid
nohup java -jar ./$RESOURCE_NAME --spring.profiles.active=test >/dev/null 2>&1 &
echo $! > tpid
echo Start Success!

其中,‘>/dev/null 2>&1’将日志打到黑洞里面,不打印nohup日志。

1.4 脚本运行

cd /home (我是把jar包和脚本放在home下面)

chmod +x start.sh (第一次运行的时候获取一下超级管理员权限)

然后以后每次运行直接

./start.sh 即可

2 jekins自动化部署jar包

Jenkins自动化搭建测试环境参考:https://blog.csdn.net/mameng1988/article/details/82964777

这里主要关注的是下面的shell构建:
在这里插入图片描述

2.1 Command部分

#!/bin/bash
BUILD_ID=DONTKILLME
. /etc/profile  
export PROJ_PATH=`pwd`
export JAR_PATH=/opt/application/ConfigServerSvn
cd /opt/application/ConfigServerSvn
./configServerStart.sh

其中,". /etc/profile “执行maven等配置;待部署的项目和重启项目的脚本在”/opt/application/ConfigServerSvn"目录下。

2.2 configServerStart.sh

#!/bin/sh

RESOURCE_NAME=config-server-svn-0.0.1-SNAPSHOT.jar

echo "starting install project!"

cd $PROJ_PATH/config-server-svn
mvn clean install

echo "install proiect finished!"

echo "Stopping config-server-svn"

cd $JAR_PATH

tpid=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Stop Process...'
kill -15 $tpid
fi
sleep 5
tpid=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
echo 'Kill Process!'
kill -9 $tpid
else
echo 'Stop Success!'
fi
tpid=`ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
    echo 'App is running.'
else
    echo 'App is NOT running.'
fi
rm -rf $JAR_PATH/$RESOURCE_NAME

cp $PROJ_PATH/config-server-svn/target/$RESOURCE_NAME $JAR_PATH

rm -f tpid
nohup java -jar ./$RESOURCE_NAME >/dev/null 2>&1 &
echo $! > tpid
echo Start Success!

chmod +x configServerStart.sh (第一次运行的时候获取一下超级管理员权限)
都配置好之后,在jenkins页面中点击“build”,Jenkins输出了 Finished: SUCCESS!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值