室外机服务器部署指南 - housekeeper-software/tech GitHub Wiki

准备

将outdoor.tar.gz 复制到新的服务器(debian 10 x64),解压到某个目录,比如是 /outdoor outdoorserver需要建一个数据库名,可以在程序里建,以下脚本不包含建库。

新机初始化

新机初始化是为了安装 docker 和 docker-compose环境,只需要运行一次,以后不必在此运行。  
方式是:
cd /outdoor
chmod +x init.sh  
./init.sh

更新jar包

将新版本jar包放在/outdoor/image/pack目录下,此目录下还有application.yml。  
如果yml更新了,还需要替换此文件。替换之前,请参考压缩包中的yml,其中包含若干个可替换变量。需要保持不变。  

不带数据库部署

数据库和redis已经安装到别的主机上,此刻,只需要安装室外机服务器即可。 
cd /outdoor/setup-no-db  
chmod +x setup_env.sh
./setup_env.sh {室外机对外端口} {mysql 服务器IP} {mysql 用户名} {mysql 密码} {redis 服务器IP} {redis 密码} {jar包文件名}
比如: ./set_env.sh 8080 192.168.180.70 root root 192.168.180.70 123456 genius-entrance-guard-1.0.48-SNAPSHOT.jar
上述脚本执行完毕之后,在当前目录有个.env文件,可以查看是否设置正确。
然后执行: 
docker-compose build
docker-compose up -d
完成

带数据库部署

部署服务器的同时,安装redis,mysql
cd /outdoor/setup-with-db
chmod +x setup_env.sh
./setup_env.sh {室外机对外端口} {mysql 服务器IP} {mysql 用户名} {mysql 密码} {redis 服务器IP} {redis 密码} {jar包文件名}
比如: ./set_env.sh 8080 192.168.180.70 root root 192.168.180.70 123456 genius-entrance-guard-1.0.48-SNAPSHOT.jar
上述脚本执行完毕之后,在当前目录有个.env文件,可以查看是否设置正确。
然后执行: 
docker-compose build
docker-compose up -d
完成

升级服务器

将新的jar包复制到 /outdoor/image/pack目录下,因为jar包文件名有版本号,可以不用删除以前的版本,这样可以回滚。  
如果application.yml格式有变,研发需要重新提供。 一同覆盖到上述目录。  
然后进入: 
cd /outdoor/setup-no-db  
执行: 
docker-compose down
docker-compose build
docker-compose up -d
完成
执行 docker ps -a 查看有没有outdoorsever的容器正在运行,看看有没有安装成功

停止服务器

cd /outdoor/setup-no-db
docker-compose down

进入服务器容器

docker exec -it outdoorserver /bin/bash