linux3==阿里云ECS centos8基于Shell脚本自动部署springboot项目(IDEA手动push,linux自动pull、package、run)

操作步骤如下:

1). 在Gitee上创建远程仓库,并将本地的项目代码推送到远程仓库中(IDEA add commit push)

2). 在Linux中安装jdk,mysql(如果要使用linux的MySQL数据的话),Git

java -version

git --version

 在想要存放项目代码的地方新建文件夹(文件夹名字为项目名,比如hello)并CD到hello文件夹下,手动克隆代码,如从gitee克隆代码

cd /usr/local/XXX

git clone XXX.git

3). 在Linux中安装maven到/usr/local目录

maven安装包下载地址 Index of /dist/maven/maven-3http://archive.apache.org/dist/maven/maven-3/

 将压缩包上传到/usr/local目录

  解压缩到该目录

tar -zxvf apache-maven-3.5.4-bin.tar.gz -C /usr/local

 在/etc/profile配置文件中配置环境变量

 vim /etc/profile

 修改配置文件,进入到命令模式,按G切换到最后一行,按a/i/o进入插入模式,然后在最后加入如下内容 :
export MAVEN_HOME=/usr/local/apache-maven-3.5.4
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH

然后按ESC进入到命令模式,输入 :wq 保存并退出

要想让配置的环境变量生效,还需要执行如下指令:

source /etc/profile

修改maven的settings.xml配置文件,配置本地仓库地址

A. 切换目录

cd /usr/local/apache-maven-3.5.4/conf

B. 编辑settings.xml配置文件

vim settings.xml

在其中增加如下配置,配置本地仓库地址:

<localRepository>/usr/local/repo</localRepository>

并在settings.xml中的<mirrors>标签中,配置阿里云的私服:

<mirror> 
    <id>alimaven</id> 
    <mirrorOf>central</mirrorOf> 
    <name>aliyun maven</name> 
    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror> 

 =====================================================================

4). 编写Shell脚本(拉取代码、编译、打包、启动)

建个txt,名字和后缀名改为bootStart.sh,输入以下内容。该文件的意思:停止原运行中的项目,从远程仓库拉取最新的项目代码,使用maven打包拉下来的项目,执行项目,并输出日志到target目录下。

#!/bin/sh
echo =================================
echo  Automated deployment script startup
echo =================================

#停止原运行中的项目
echo Stop the original running project
APP_NAME=项目名字比如hello项目这里写hello

tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
    echo 'Stop Process...'
    kill -15 $tpid
fi
sleep 2
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $2}'`
if [ ${tpid} ]; then
    echo 'Kill Process!'
    kill -9 $tpid
else
    echo 'Stop Success!'
fi

echo Prepare to pull the latest code from GIT
#打开项目所在的文件夹
cd /usr/local/项目文件夹比如hello项目这里写hello

echo Start pulling the latest code from GIT
#本地与远程不同的话,强制更新为远程
git reset --hard
#开始从远程拉取
git pull
echo Code pull completed

#执行打包命令
echo Start packing
output=`mvn clean package -Dmaven.test.skip=true`

#打开打包之后存放jar包的文件夹
cd target

echo Start project
#通过nohub方式启动jar包,并输出日志到jar所在文件夹同级别的日志文件
nohup java -jar 项目名字-1.0-SNAPSHOT.jar &> 日志名字.log &
echo Project launch completed

修改相关中文标注的地方为具体项目信息。

上传到linux,比如上传到/usr/local/sh

5). 为用户授予执行Shell脚本的权限

上传成功后授权,授权让任何用户都可 读写执行 该sh文件

cd /usr/local/sh

chmod 777 bootStart.sh 

6). 执行Shell脚本

cd /usr/local/sh

./bootStart.sh 

=================================================================

完成

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值