操作步骤:
1、在Linux中安装Git
yum list git
yum install 版本
使用Git克隆代码
cd /usr/local/
git clone https://gitee.com/xxxxxxx/reggie-ruiji-takeout-system.git
# 输入Git账户号和密码验证
2、在Linux中安装maven
tar -zxvf apache-maven-3.8.6-bin.tar.gz -C /usr/local
vim /etc/profile 修改配置文件
export MAVEN_HOME=/usr/local/apache-maven-3.8.6
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
source /etc/profile
mvn -version
cd /usr/local/
mkdir repo
vim /usr/local/apache-maven-3.8.6/conf/setting.xml 修改配置文件(本地仓库)
<localRepository>/usr/local/repo</repolocalRepository>
3、编写Shell脚本(拉取代码、编译、打包、启动)
#!/bin/sh
echo =================================
echo 自动化部署脚本启动
echo =================================
echo 停止原来运行中的工程
APP_NAME=reggie-ruiji-takeout-system
tpid=`ps -ef|grep $APP_NAME|grep -v grep|grep -v kill|awk '{print $w}'`
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 $w}'`
if [ ${tpid} ]; then
echo 'Stop Process!'
kill -9 $tpid
else
echo 'Stop Success!'
fi
echo 准备从Git仓库拉取最新代码
cd /usr/local/reggie-ruiji-takeout-system
echo 开始从Git仓库拉取最新代码
git pull
echo 代码拉取完成
echo 开始打包
output=`mvn clean package -Dmaven.test.skip=true`
cd target
echo 启动项目
nohup java -jar reggie_take_out-1.0-SNAPSHOT.jar &> reggie.log &
echo 项目启动完成
放在
cd /usr/local/
mkdir sh
4、为用户授予执行Shell脚本的权限
chmod命令可以使用八进制数来指定权限
例如:
chmod 777 bootStart.sh 为所有用户授予读、写、执行权限
chmod 755 bootStart.sh 为文件拥有者授予读、写、执行权限,同组用户和其他用户授予读、执行权限
chmod 210 bootstart.sh 为文件拥有者授予写权限,同组用户授予执行权限,其他用户没有任何权限注意:三位数字分别代表不同用户的权限
第1位表示文件拥有者的权限
第2位表示同组用户的权限
第3位表示其他用户的权限
chmod 777 bootStart.sh
5、执行Shell脚本
./bootStart.sh
6、设置静态IP
cd /etc/sysconfig/network-scripts/
vim ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=e9fc5dce-b4f2-4f2f-ad9c-90be0eb16f7d
DEVICE=ens33
DNS1=114.114.114.114
ONBOOT=yes
IPADDR=192.168.64.142
NEtMASK=255.255.255.0
GATEWAY=192.168.64.2
7、重启网络服务
systemctl restart network