1. 阿里云服务器的环境搭建
- jdk
- gcc
- mysql:设置密码,然后navicat连接,再将主机上的数据库复制粘贴到服务器上(利用navicat很方便实现)
- redis:设置密码,以及conf配置文件的修改
- nginx:暂时没用到
- 创建一个文件夹准备pull项目
- git:不用管本地仓库装到哪里了,直接在6.创建的文件夹中git clone url即可,本地仓库便于远程仓库链接上
- 创建一个文件夹存放图片资源
2. 项目部署
-
瑞吉外卖中的.yml文件中的mysql ip、密码,redis ip、密码都要修改为服务器上的,图片资源存放路径也要改为服务器上的
-
然后idea中先maven clean,再package,再commit and push
-
服务器上便可以git clone url了
-
先运行试试,java -jar ... .target,如果能成功在外部访问静态资源和动态数据,便可以开始编写.sh脚本,方便以后pull最新项目和部署最新项目
-
.sh脚本:
#!/bin/sh
echo =================================
echo 自动化部署脚本启动
echo =================================
echo 停止原来运行中的工程
APP_NAME=reggie_take_out
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/myDir/reggie/reggie-for-linux
echo 开始从Git仓库拉取最新代码
git pull
echo 代码拉取完成
echo 开始打包
git stash
output=`mvn clean package -Dmaven.test.skip=true`
cd target
echo 启动项目
nohup java -jar reggie_take_out-1.0-SNAPSHOT.jar &> reggie_take_out.log &
echo 项目启动完成