本文采用Maven+svn+shell自动部署,也适用于Maven+git+shell或者Maven+gitlab+shell
目录
一、服务器环境
麒麟v10系统(类似 cent OS),x86_64架构
二、部署必安装软件
1.svn(拉取代码用)
使用 yum -y install subversion命令安装svn
2.maven(打包代码,war包)
(1)去maven官方下载Linux系统的maven
(2)通过工具把.gz压缩包传送到Linux系统上
(3)通过tar -zxvf命令解压
(4)设置环境变量
vim ~/.profile #命令打开frofile文件,在最后添加如下代码,保存并退出
export MAVEN_HOME=/opt/maven/apache-maven-3.9.8
export PATH=$PATH:$MAVEN_HOME/bin
source ~/.profile #重新加载profile文件
(5)设置本地仓库
/opt/maven下创建repository目录
mkdir repository
打开maven conf目录中的settings.xml配置,配置本地仓库
3.tomcat(运行代码)
(1)先将tomcat tar包通过工具上传到Linux系统/opt/tomcat目录下
(2)解压
tar -zxvf
三、自动部署脚本
(1)创建sh脚本,名字自定义
(2)使用者只需要把自定义路径更换一下即可使用
(3)给脚本文件加上执行权限 chmod 775
#!/bin/sh
echo =================================
echo 自动化部署系统启动
echo =================================
# 定义项目目录路径
dir="/www/cadre"
#定义tomcat目录
tomcat="/opt/tomcat/tomcat9"
#定义项目打包后taragt目录位置
taragt="pcc-uuy"
#定义svn代码拉取用户
username="user"
#定义svn代码拉取用户密码
password="123456"
#定义svn拉取地址
svn_url=""
# 检查目录是否存在
if [ ! -d "$dir" ]; then
# 如果不存在,创建目录
mkdir "$dir"
echo "项目目录 $dir 已创建。"
else
# 如果存在,打印已存在的消息
echo "项目目录 $dir 已存在。"
fi
#进入tomcat bin目录,先停止tomcat
cd $tomcat/bin
./shutdown.sh
#删除旧的war包
cd ..
cd webapps/
rm -rf ROOT/
rm -rf ROOT.war
#拉取代码
echo 开始拉取代码...
svn checkout --username $username --password $password $svn_url $dir
cd $dir
echo 拉取代码完毕...
echo 开始打包项目...
output=`mvn clean package -Dmaven.test.skip=true`
echo 项目打包完毕...
cd $taragt/target
cp ROOT.war $tomcat/webapps/
#启动项目
echo "启动Tomcat..."
cd $tomcat/bin
./startup.sh && tail -f ../logs/catalina.out