在linux中安装git、maven,编写shell脚本(拉取代码、编译、打包、启动),为用户赋予执行shell脚本的权限,最后在执行shell
安装git、克隆代码# 先列出git所有的安装包 yum list git # 在线安装git yum install git
看到这个说明安装成功了
先进入我们要存放项目的位置
cd /usr/local
克隆项目
git clone https://gitee.com/liaoweibin/ssm-crud.git安装maven
如果还没安装jdk的先去安装,可以看这篇文章 Linux安装jdk设置环境变量(附jdk文件)
首先去官网下载maven安装包,再上传到linux服务器,执行下方命令进行解压
tar -zxvf apache-maven-3.5.4-bin.tar.gz -C /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
看到这就说明成功了
我们还要修改一下maven本地仓库地址
# 编辑配置文件 vim /usr/local/apache-maven-3.5.4/conf/settings.xml # 加入配置(需要先在local下创建repo子目录)/usr/local/repo
放在settings下,然后保存
shell脚本我们新建一个shell脚本,把下面的代码复制进去,要把项目名称和项目地址改成正确的
#!/bin/sh
echo =================================
echo 自动化部署脚本启动
echo =================================
echo 停止原来运行中的工程
APP_NAME=ssm-crud-system
# 查找进程id是否存在,存在则停止进程
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
# 再次查找进程id,存在则杀死进程(双重保障进程已停止)
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/ssm-crud
echo 开始从Git仓库拉取最新代码
git pull
echo 代码拉取完成
echo 开始打包
# 先clear在打包,取消单元测试
output=`mvn clean package -Dmaven.test.skip=true`
# 进入项目打包后的文件夹
cd ssm-crud-system/target
echo 启动项目
nohup java -jar ssm-crud-system-1.0-SNAPSHOT.jar &> ssm-crud-system.log &
echo 项目启动完成
添加权限执行脚本
当我们查看文件详细时,会发现没有执行权限
我们执行下方命令让他有执行权限,这个命令可以让该文件拥有所有权限:读®、写(w)、执行(x)
chmod 777 auto_deploy.sh
我们可以看到拥有权限了,文件的名字也变成了绿色
接下来就是执行脚本
可以执行 netstat -tulpn 命令查看有没有该项目的端口,或者在windows电脑上访问项目地址访问进行测试
如果访问不了就看一下防火墙有没有打开打开



