# 部署几何BI产品  

### 1.安装docker以及docker-compose环境
[点击这里](http://git.platomix.net/aokunsang/platomix-tool/src/master/platomix-docker/doc/DOCKER_INSTALL.md)

### 2.部署准备工作
##### 2.1、准备文件目录

```
# mkdir -p /data/docker/webapp

docker-webapp目录中全部文件上传到/data/docker/webapp

特别注意：文件夹里面都有一个.env隐藏文件，一定要保证上传上去。

# mkdir -p /data/webapp/www

该目录存放前端静态文件。

特别注意：前端项目使用升级模块进行升级部署的时候要打包成 xxx.tar.gz

```

##### 2.2、确认要部署的产品版本

根据产品版本号拿到对应的前端代码和后端代码模块版本号。

```
(1)修改1中的.env文件,来设置后端模块版本

bi_version=1.0.0
pdf_version=1.0.0
xxljob_version=1.0.0
system_version=1.0.0
lowcode_version=1.0.0
upgrade_version=1.0.0

【注意】：如果服务器是aarch64架构的内核，版本号加_aarch64后缀，比如：bi_version=1.0.0 对应的 bi_version=1.0.0_aarch64

(2)根据前端版本号，下载对应版本号的前端文件zip包，上传到/data/webapp/www，并解压。 【目前没有下载地址，需要跟前端同学@杨帆要一下zip文件】

```

##### 2.3、部署环境配置

** 文件都在docker-webapp目录下 **

 _3.1修改nginx访问域名_  
 
 ```
 修改文件：nginx/conf.d/default.conf
 
 server_name [域名] 
 
 【注意】：如果是服务器IP访问，此处不用改动。
 ```
 
 _3.2修改开发环境中域名地址_
 
 ```
 修改文件：docker-compose.yml
 
 替换该文件中所有http://localhost为访问域名或者IP。
 
 【注意】：如果是https协议的地址，需要同时修改协议。
 
 ```
 
 _3.3【选项】使支持https协议，配置证书_
 
 ```  
 1、去掉nginx/conf.d/default.conf中关于tls的注释；
 2、把证书文件修改为localhost.pem和localhost.key放到nginx/cert目录中。
 ```
 
##### 4、前端接口地址修改

```
目前已知修改的文件位置：/data/webapp/www/util/config.js，里面的ip或者localhost，修改为部署的域名或IP。

修改前：最好跟前端同学@杨帆确认。
```

### 3.docker镜像下载
##### 3.1内网环境
_【说明】：需要把镜像在本机保存为tar文件，上传到客户服务器再load进去_

_3.1.1本机导出tar文件_

```
#docker save -o nginx_mysql_redis.tar nginx:1.23 mysql:8 redis:5.0

#docker save -o gmetry_xxljob.tar docker.platomix.net:10000/platomix/platomix-gmetry-xxljob:1.0.0

#docker save -o gmetry_bi.tar docker.platomix.net:10000/platomix/platomix-gmetry-bi:1.1.0 

#docker save -o gmetry_system.tar docker.platomix.net:10000/platomix/platomix-gmetry-system:1.0.0

#docker save -o gmetry_lowcode.tar docker.platomix.net:10000/platomix/platomix-gmetry-visual:1.0.0

#docker save -o gmetry_pdf.tar docker.platomix.net:10000/platomix/platomix-gmetry-pdf:1.0.0

#docker save -o gmetry_upgrade.tar docker.platomix.net:10000/platomix/platomix-gmetry-upgrade:1.0.0

【特别注意】：导出的时候要保证后端项目模块版本号的正确性[参考2.2]。

```

_3.1.2上传到服务器并依次导入镜像_

```
#docker load < nginx_mysql_redis.tar

#docker load < gmetry_xxljob.tar

#docker load < gmetry_bi.tar

#docker load < gmetry_system.tar

#docker load < gmetry_lowcode.tar

#docker load < gmetry_pdf.tar

#docker load < gmetry_upgrade.tar
```

##### 3.2联网环境

```
# docker login docker.platomix.net:10000 -u platomix -p Harbor@123  #登录私服

# cd /data/docker/webapp

# docker-compose pull  #拉取镜像
```

### 4.启动项目
项目启动必须按照顺序：

```
1、创建网桥
#docker network create net_webapp
#docker network ls  #查看网桥

2、启动mysql/redis
# cd /data/docker/webapp
# docker-compose up -d mysql redis

3、启动BI项目模块
# cd /data/docker/webapp
# docker-compose up -d gmetry-xxljob gmetry-bi gmetry-system gmetry-lowcode gmetry-pdf gmery-upgrade

4、最后启动nginx
# cd /data/docker/webapp
# docker-compose up -d nginx
```

### 5.测试项目是否正常启动并访问
_5.1通过域名或者IP打开系统并登录_  

账号密码：dataview / R7beUSRnByThTLmh

