文章目录
一、手工部署项目:
【1】运行jar包
【2】放开端口
mkdir /usr/local/app
cd /usr/local/app
rz
java -jar reggie_take_out-1.0-SNAPSHOT.jar
复制标签
firewall-cmd --zone=public --add-port=9000/tcp --permanent # mysql:3306
firewall-cmd --reload
firewall-cmd --zone=public --list-ports
【3】后台运行SpringBoot程序,并输出日志
nohup java -jar boot工程.jar &>hello.log &
后台运行java -jar命令,并将日志输出到hello.log文件
nohup java -jar reggie_take_out-1.0-SNAPSHOT.jar &>logfile.log &
【4】创建数据库与更新数据表
【5】停止springboot程序
ps -ef |grep 'java -jar'
kill -9 42009
二、通过Shell脚本自动部署项目:
【1】在Linux中安装Git
yum list git
yum install git
cd /usr/local
git clone https://gitee.com/ID-SunPeng/reggie-takeout.git
【2】在Linux中安装Maven
tar -zxvf apache-maven-3.5.4-bin.tar.gz -C /usr/local
cd /usr/local
vim /etc/profile #修改配置文件
export MAVEN_HOME=/usr/local/apache-maven-3.5.4
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
source /etc/profile
mvn -version
vim /usr/local/apache-maven-3.5.4/conf/settings.xml #修改配置文件
<localRepository>/usr/local/repo</localRepository>
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
【3】编写Shell脚本(拉取代码,编译,打包,启动)
#!/bin/sh
echo =================================
echo 自动化部署脚本启动
echo =================================
echo 停止原来运行中的工程
APP_NAME=reggie-takeout
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 准备从Git仓库拉取最新代码
cd /usr/local/reggie-takeout
echo 开始从Git仓库拉取最新代码
git pull
echo 代码拉取完成
echo 开始打包
output=`mvn clean package -Dmaven.test.skip=true`
cd target
echo 启动项目
nohup java -jar reggie-takeout-1.0-SNAPSHOT.jar &> helloworld.log &
echo 项目启动完成
【4】为用户授予执行Shell脚本的权限
chmod 777 bootStart.sh
【5】执行Shell脚本
./bootStart.sh #这里log文件显示Error: Unable to access jarfile reggie-takeout-1.0-SNAPSHOT.jar
#将pom.xml和application.xml里面改为reggie-takeout都没用,只有target目录,没有jar包
【6】设置静态ip
vim /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=static
IPADDR=192.168.139.128
NETMASK=255.255.255.0
GATEWAY=192.168.139.254
DNS1=192.168.139.253
systemctl restart network