update[deploy]: 进一步完善deploy。
1. 目前deploy支持dep阶段的代码部署 2. 目前deploy不支持prod阶段的代码部署。
This commit is contained in:
@@ -39,14 +39,24 @@
|
||||
http://xxx.xxx.xxx.xxx:8080/#/login
|
||||
```
|
||||
|
||||
7. 自动上传脚本
|
||||
7. 部署脚本
|
||||
|
||||
为了简化步骤1和步骤2,完成了util/upload.sh脚本,开发者需要设置相应的云主机IP和密钥文件路径。
|
||||
该脚本会自动把当前项目不同模块下的最终部署文件复制到deploy文件夹中,然后上传到云主机。
|
||||
注意:
|
||||
> 上传脚本没有自动做Spring Boot项目打包和Vue项目打包工作
|
||||
为了简化步骤1和步骤2,完成了deploy/util/upload.sh上传脚本和deploy/util/lazy.sh部署脚本,
|
||||
|
||||
注意:
|
||||
> * 开发者需要在deploy/util/upload.sh和deploy/util/lazy.sh中设置相应的云主机登录账号和密钥文件路径。
|
||||
> * 开发者需要在deploy/util/reset.sh设置云主机的MySQL的root登录账户。
|
||||
> * 请先执行上述1-6步骤,确保部署环境成功。
|
||||
|
||||
* 上传脚本
|
||||
|
||||
该脚本会自动把当前项目不同模块下的最终部署文件复制到deploy文件夹中,然后上传到云主机。
|
||||
该上传脚本没有自动做Spring Boot项目打包和Vue项目打包工作
|
||||
|
||||
* 部署脚本
|
||||
|
||||
该脚本会编译项目,再上传deploy文件,最后ssh登录远程主机执行bin下面的deploy.sh脚本。
|
||||
|
||||
如果开发者需要先编译项目再上传,可以运行util/lazy.sh。
|
||||
注意,运行命令必须在项目主目录中,类似如下命令:
|
||||
```bash
|
||||
cd litemall
|
||||
|
||||
@@ -3,8 +3,7 @@
|
||||
# 请注意
|
||||
# 1. 本脚本的作用是停止当前Spring Boot应用,然后再次部署
|
||||
# 2. 解压dist.tar到/home/ubuntu/deploy/litemall-admin/dist,
|
||||
# 而这个目录也正是tomcat配置静态文件目录的路径(见1.5.3.5节)
|
||||
|
||||
# 而这个目录也正是tomcat或者nginx所配置静态文件目录的路径(见1.5.3.5节)
|
||||
|
||||
#部署litemall-admin静态文件应用
|
||||
cd /home/ubuntu/deploy/litemall-admin
|
||||
@@ -29,6 +28,6 @@ sudo /etc/init.d/litemall-os-api restart
|
||||
sudo /etc/init.d/litemall-wx-api restart
|
||||
sudo /etc/init.d/litemall-admin-api restart
|
||||
|
||||
# tomcat8服务也启动
|
||||
sudo service tomcat8 stop
|
||||
sudo service tomcat8 start
|
||||
# 如果静态文件是通过tomcat来服务,则tomcat8服务最好也再启动
|
||||
#sudo service tomcat8 stop
|
||||
#sudo service tomcat8 start
|
||||
@@ -6,16 +6,23 @@
|
||||
# 3.调用deploy.sh启动服务
|
||||
# 注意:由于1和2的原因,请仅在开发测试阶段使用本脚本!
|
||||
|
||||
|
||||
# 重置数据库
|
||||
# i. 请在`XXXXXX`处设置相应的root密码
|
||||
# ii. 同时请注意root密码放在脚本是非常危险的,因此这里仅仅是用于开发测试阶段。
|
||||
ROOT=root
|
||||
PASSWORD=
|
||||
|
||||
if test -z "$PASSWORD"
|
||||
then
|
||||
echo "请设置云主机MySQL的root账号密码"
|
||||
exit -1
|
||||
fi
|
||||
|
||||
cd /home/ubuntu/deploy/litemall-db
|
||||
cat litemall_schema.sql > db.sql
|
||||
cat litemall.sql >> db.sql
|
||||
mysql -h localhost -u root -pXXXXXX < db.sql
|
||||
mysql -h localhost -u $ROOT -p$PASSWORD < db.sql
|
||||
rm db.sql
|
||||
cd /home/ubuntu/deploy/litemall-db
|
||||
|
||||
# 删除storage文件夹内文件
|
||||
cd /home/ubuntu/deploy/litemall-os-api/storage
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
RUN_ARGS=--spring.profiles.active=prod
|
||||
RUN_ARGS=--spring.profiles.active=dep
|
||||
JAVA_OPTS=
|
||||
@@ -1,2 +1,2 @@
|
||||
RUN_ARGS=--spring.profiles.active=prod
|
||||
RUN_ARGS=--spring.profiles.active=dep
|
||||
JAVA_OPTS=
|
||||
@@ -1,2 +1,2 @@
|
||||
RUN_ARGS=--spring.profiles.active=prod
|
||||
RUN_ARGS=--spring.profiles.active=dep
|
||||
JAVA_OPTS=
|
||||
@@ -2,12 +2,33 @@
|
||||
|
||||
# 本脚本的作用是
|
||||
# 1. 编译打包Spring Boot应用
|
||||
# 2. 编译litemall-adminy应用
|
||||
# 2. 编译litemall-admin应用
|
||||
# 3. 调用upload.sh上传
|
||||
# 4. ssh远程登录云主机,运行deploy/bin/deploy.sh脚本
|
||||
# 注意:运行脚本必须是在litemall主目录下,类似如下命令
|
||||
# cd litemall
|
||||
# ./deploy/util/lazy.sh
|
||||
|
||||
|
||||
# 请设置云主机的IP地址和账户
|
||||
# 例如 ubuntu@122.152.206.172
|
||||
REMOTE=
|
||||
# 请设置本地SSH私钥文件id_rsa路径
|
||||
# 例如 /home/litemall/id_rsa
|
||||
ID_RSA=
|
||||
|
||||
if test -z "$REMOTE"
|
||||
then
|
||||
echo "请设置云主机登录IP地址和账户"
|
||||
exit -1
|
||||
fi
|
||||
|
||||
if test -z "$ID_RSA"
|
||||
then
|
||||
echo "请设置云主机登录IP地址和账户"
|
||||
exit -1
|
||||
fi
|
||||
|
||||
echo $PWD
|
||||
mvn clean
|
||||
mvn package
|
||||
@@ -17,8 +38,14 @@ cd ./litemall-admin
|
||||
npm install -g cnpm --registry=https://registry.npm.taobao.org
|
||||
# 安装node项目依赖环境
|
||||
cnpm install
|
||||
cnpm run build:prod
|
||||
cnpm run build:dep
|
||||
|
||||
cd ..
|
||||
echo $PWD
|
||||
./deploy/util/upload.sh
|
||||
|
||||
# 远程登录云主机并执行deploy脚本
|
||||
ssh $REMOTE -i $ID_RSA << eeooff
|
||||
sudo ./deploy/bin/deploy.sh
|
||||
exit
|
||||
eeooff
|
||||
@@ -6,10 +6,24 @@
|
||||
# 3. util/upload.sh脚本是运行在开发机中,bin/deploy.sh脚本是运行在云主机中
|
||||
# 4. 这是一个简单的脚本,开发者可以按照自己需求修改
|
||||
|
||||
# 请设置云主机的IP地址
|
||||
CVM=XXX.XXX.XXX.XXX
|
||||
# 请设置本地SSH私钥文件id_rsa
|
||||
ID_RSA=/XXX/id_rsa
|
||||
# 请设置云主机登录IP地址和账户
|
||||
# 例如 ubuntu@122.152.206.172
|
||||
REMOTE=
|
||||
# 请设置本地SSH私钥文件id_rsa路径
|
||||
# 例如 /home/litemall/id_rsa
|
||||
ID_RSA=
|
||||
|
||||
if test -z "$REMOTE"
|
||||
then
|
||||
echo "请设置云主机登录IP地址和账户"
|
||||
exit -1
|
||||
fi
|
||||
|
||||
if test -z "$ID_RSA"
|
||||
then
|
||||
echo "请设置云主机登录IP地址和账户"
|
||||
exit -1
|
||||
fi
|
||||
|
||||
# 复制三个Spring Boot应用
|
||||
# 需要注意的是target目录里面存在两种jar,一种是当前模块纯编译代码的jar,另外一种是包含依赖库的可执行jar,
|
||||
@@ -26,4 +40,4 @@ cp -f ./litemall-db/sql/litemall_schema.sql ./deploy/litemall-db/litemall_schem
|
||||
cp -f ./litemall-db/sql/litemall.sql ./deploy/litemall-db/litemall.sql
|
||||
|
||||
# 上传云主机
|
||||
scp -i $ID_RSA -r ./deploy ubuntu@$CVM:/home/ubuntu/
|
||||
scp -i $ID_RSA -r ./deploy $REMOTE:/home/ubuntu/
|
||||
|
||||
Reference in New Issue
Block a user