# 正常更新

机场更新软件、更新算法的正常流程, 因为机场的网络环境不同, 所以根据表格选择对应的方法.

| 机场 | 方法 |
| --- | --- |
| 大兴、兰州 | 方法一 |
| 深圳机场 | 方法二 |

## 方法一

### 1.前期准备

- 重写构建好软件部分, 存放到部署文件中, git推送到gitlab仓库.
- gitlab服务器启动VPN

### 2.更新流程

```shell
# 进入gitlab服务器, window端 win + r  输入cmd, 进入终端
ssh sunwin@192.168.31.174  # 远程gitlab工控机
cd /opt/GSD/network/
./start_openvpn.sh
```

- 登录spug

> 地址为: 47.112.106.146:9090

批量执行 -> 模板控制, 检查是否存在**正常更新**这个模板,

![image](./image/1668153390973.jpg)

如果没有点击新建, 模板内容输入以下数据:

```shell
cd /opt/GSD
echo "123456" | sudo -S service cron stop
docker-compose stop
git pull
docker-compose up -d --build
echo "123456" | sudo -S service cron start
```

![image](./image/1668153565690.jpg)

- 发布设置

应用发布 -> 发布配置 -> 选择需要发布的机场

![image](./image/1668153710674.jpg)

点击查看发布 -> 发布编辑-> 选择gsd生成环境,目标主机,串行 -> 设置目标主机动作(输入正常更新脚本) -> 提交

![image](./image/1668153923326.jpg)

![image](./image/1668153992262.jpg)


- 应用发布

应用发布 -> 新建发布

![image](./image/1668154159040.jpg)

选择gsd生成环境, 选择对应的机场

![image](./image/1668154231917.jpg)

设置标题, 选择发布的点位, 如需定时可以设置时间, 点击完成

![image](./image/1668154296207.jpg)

检查无问题后, 点击发布, 更新过程也可以查看得到, 发布结束会提示已经发布成功.

![image](./image/1668154446064.jpg)


## 方法二

因为深圳机场为内网环境, 所以更新必须前往到深圳机场.

### 1.前期准备

- 重写构建好软件部分, 存放到部署文件中, git推送到gitlab仓库.

- 通过以下指令拉取部署文件

```shell
git clone http://192.168.31.174/deploy/gsdn.git gsd
```

将gsd文件拷贝至U盘, 然后前往深圳机场.

### 2.更新流程

- 观鸟台window电脑, 插入U盘, 拷贝至电脑桌面, 浏览器登录spug

> 地址为: 10.94.207.1:9090

- 链接工控机

主机管理 -> web终端 -> 双击连接其中一台机器 -> 文件管理器

![image](./image/1668155010290.jpg)

![image](./image/1668155166431.jpg)

选择**home/sunwin/Desktop/**目录, 点击**上传文件**, 上传**gsd**文件(如有相同目录可直接删除)

![image](./image/1668155367321.jpg)

- 获取远程地址, 执行以下命令

```shell
cd /home/sunwin/Desktop/gsd/
git remote rm origin
git remote add origin http://106.13.228.35:9823/root/gsd.git
git push
```

- 批量执行 -> 模板控制, 检查是否存在**正常更新**这个模板,

![image](./image/1668153390973.jpg)

如果没有点击新建, 模板内容输入以下数据:

```shell
cd /opt/GSD
echo "123456" | sudo -S service cron stop
docker-compose stop
git pull
docker-compose up -d --build
echo "123456" | sudo -S service cron start
```

![image](./image/1668153565690.jpg)

- 发布设置

应用发布 -> 发布配置 -> 选择需要发布的机场

![image](./image/1668153710674.jpg)

点击查看发布 -> 发布编辑-> 选择gsd生成环境,目标主机,串行 -> 设置目标主机动作(输入正常更新脚本) -> 提交

![image](./image/1668153923326.jpg)

![image](./image/1668153992262.jpg)


- 应用发布

应用发布 -> 新建发布

![image](./image/1668154159040.jpg)

选择gsd生成环境, 选择对应的机场

![image](./image/1668154231917.jpg)

设置标题, 选择发布的点位, 如需定时可以设置时间, 点击完成

![image](./image/1668154296207.jpg)

检查无问题后, 点击发布, 更新过程也可以查看得到, 发布结束会提示已经发布成功.

![image](./image/1668154446064.jpg)
