• 支持用户管理
  • 支持项目权限管理
  • 支持外部系统常用链接管理
  • 托管项目工作流支持 Webhook 触发服务更新

版本升级过程

背景信息

  1. Kubernetes 集群版本:v1.16~v1.21。
  2. 不支持跨版本升级,如果当前 Zadig 系统版本 < v1.6.0,请先参考 升级到 v1.6.0,再按照以下方式升级到 v1.7.0。
  3. v1.7.0 版本中未保留用户账号信息,安装完成后,使用系统提供的内置账号密码在用户管理里新建即可。

步骤 1:备份数据

高可用数据库,通过云厂商配置做 MongoDB 全量备份。

步骤 2:卸载 Zadig

  1. 下载卸载脚本 (opens new window)
  2. 设置需要卸载的命名空间并执行卸载脚本

步骤 3:安装 Zadig v1.7.0

  1. 下载安装脚本v1.7.0 Release Notes - 图2 (opens new window),执行安装脚本。
  1. # 配置必要的参数,具体参考[基于现有 Kubernetes 安装](/v1.7.1/install/install-on-k8s/)
  2. ./install.sh
  1. 下载,执行升级 Job。

    1. 最后一行脚本 value: {{ default "http" .Values.protocol }}://{{- include "zadig.endpoint" . }}修改为系统实际访问域名/IP
    2. mongodb://zadig-mongodb:27017 修改为对应的连接串
    3. -d下面一行的zadig 修改为对应的 dbname
    4. 执行如下命令
    1. kubectl apply -f 1.7.0-upgrade.yaml -n <Zadig 所在 namespace>
  2. 确保 Job 执行成功

步骤 4:验证安装结果

  1. 版本信息确认
    1. 访问 <安装后的 Zadig 地址>/signin
    2. 查看登录界面右下角 info 提示,Version 信息为 1.7.0
  2. 新版本正确性检查,推荐校验点
    1. 管理员访问系统中任一正常使用的项目
    2. 执行工作流,对指定环境的服务进行部署更新
    3. 新建集成环境、删除集成环境、更新集成环境
    4. 提交代码变更,确认配置了 Webhook 的工作流是否被按照预期触发

失败回滚流程

  1. 卸载 Zadig (方式步骤 2
  2. 重新安装 Zadig v1.6.0
  1. 回滚数据至备份版本
  1. # 确保操作的机器上有 MongoDB 客户端
  2. # 执行以下命令进行 port 转发
  3. kubectl port-forward svc/zadig-MongoDB -n <Zadig 所在的 Namespace> 27090:27017
  4. # 对数据进行恢复
  5. mongorestore mongodb://localhost:27090 <备份数据文件/目录>
  1. 执行回滚 Job

    1. 修改 YAML 最后一行修改为系统实际访问域名/IP
    2. 执行如下命令
    1. kubectl apply -f 1.7.0-revert.yaml -n <Zadig 所在 namespace>

步骤 1:备份数据

  1. # 确保操作的机器上有 MongoDB 客户端
  2. # 寻找 zadig-mongodb 开头的 Pod 名称,执行以下命令进行 port 转发
  3. kubectl port-forward svc/zadig-mongodb -n <Zadig 所在的 Namespace> 27090:27017
  4. # 对数据进行备份
  5. mongodump --out=<你想要的路径> --db=zadig mongodb://localhost:27090

步骤 2:卸载 Zadig

  1. 下载
  2. 设置需要卸载的命名空间并执行卸载脚本
  1. export NAMESPACE=<Zadig 所在的 Namespace>
  2. bash uninstall.sh

步骤 3:安装 Zadig v1.7.0

  1. 下载,执行安装脚本。
  1. export ENCRYPTION_KEY=<第一次安装时获得的 ENCRYPTION_KEY>
  2. # 配置必要的参数,具体参考[基于现有 Kubernetes 安装](/v1.7.1/install/install-on-k8s/)
  3. ./install.sh
  1. 确保安装完成后 Pod 状况正常 (如果不正常,自行解决)
  2. 恢复数据至备份版本
  1. 下载数据同步工具v1.7.0 Release Notes - 图7 (opens new window),执行升级 Job。

    1. 修改 YAML 最后一行脚本 为系统实际访问域名/IP
    2. 执行如下命令。
    1. kubectl apply -f 1.7.0-upgrade.yaml -n <Zadig 所在 namespace>
  2. 确保 Job 执行成功。

步骤 4:验证安装结果

  1. 版本信息确认
    1. 访问 <安装后的 Zadig 地址>/signin
    2. 查看登录界面右下角 info 提示,Version 信息为 1.7.0
  2. 新版本正确性检查,推荐校验点
    1. 管理员访问系统中任一正常使用的项目
    2. 执行工作流,对指定环境的服务进行部署更新
    3. 新建集成环境、删除集成环境、更新集成环境
    4. 提交代码变更,确认配置了 Webhook 的工作流是否被按照预期触发

失败回滚流程

  1. 卸载 Zadig (方式)
  2. 重新安装 Zadig v1.6.0
  1. 回滚数据至备份版本
  1. # 确保操作的机器上有 MongoDB 客户端
  2. # 执行以下命令进行 port 转发
  3. kubectl port-forward svc/zadig-mongodb -n <Zadig 所在的 Namespace> 27090:27017
  4. # 对数据进行恢复
  5. mongorestore mongodb://localhost:27090 <备份数据文件/目录>
  1. 执行回滚 Job

    1. 下载数据回滚工具 (opens new window)
    2. 根据自己 Zadig 的安装方式,修改 YAML 内容:
      1. 最后一行修改为系统实际访问域名/IP
      2. mongodb://zadig-mongodb:27017修改为对应的连接串
      3. -d下面一行的zadig修改为对应的 dbname
    3. 执行如下命令
    1. kubectl apply -f 1.7.0-revert.yaml -n <Zadig 所在 namespace>

步骤 1:备份数据

高可用数据库,通过云厂商配置做 MongoDB 全量备份。

步骤 2:卸载 Zadig

  1. helm list -n <Zadig 所在的 Namespace> # 获得 Zadig 的 release name
  2. helm uninstall <release name> -n <Zadig 所在的 Namespace>

步骤 3:安装 Zadig v1.7.0

  1. 根据 Helm 命令生成工具v1.7.0 Release Notes - 图9 (opens new window) 生成安装命令
  1. (执行生成的 Helm 安装命令) helm install ...
  1. 下载,执行升级 Job。

    1. 最后一行脚本 value: {{ default "http" .Values.protocol }}://{{- include "zadig.endpoint" . }}修改为系统实际访问域名/IP
    2. mongodb://zadig-mongodb:27017 修改为对应的连接串
    3. -d下面一行的zadig 修改为对应的 dbname
    4. 执行如下命令
    1. kubectl apply -f 1.7.0-upgrade.yaml -n <Zadig 所在 namespace>

步骤 4:验证安装结果

  1. 版本信息确认
    1. 访问 <安装后的 Zadig 地址>/signin
    2. 查看登录界面右下角 info 提示,Version 信息为 1.7.0
  2. 新版本正确性检查,推荐校验点
    1. 执行工作流,对指定环境的服务进行部署更新
    2. 新建集成环境、删除集成环境、更新集成环境
    3. 提交代码变更,确认配置了 Webhook 的工作流是否被按照预期触发

失败回滚流程

  1. 卸载 Zadig (方式步骤 2
  2. 重新安装 Zadig v1.6.0
  1. 回滚数据至备份版本
  1. # 确保操作的机器上有 MongoDB 客户端
  2. # 执行以下命令进行 port 转发
  3. kubectl port-forward svc/zadig-MongoDB -n <Zadig 所在的 Namespace> 27090:27017
  4. # 对数据进行恢复
  5. mongorestore mongodb://localhost:27090 <备份数据文件/目录>
  1. 执行回滚 Job

    1. 下载
    2. 修改 YAML 最后一行修改为系统实际访问域名/IP
    3. 执行如下命令

步骤 1:备份数据

由 Zadig 安装的 MongoDB 的备份

  1. # 寻找 zadig-mongodb 开头的 Pod 名称,执行以下命令进行 port 转发
  2. kubectl port-forward svc/zadig-mongodb -n <Zadig 所在的 Namespace> 27090:27017
  3. # 对数据进行备份
  4. mongodump --out=<你想要的路径> --db=zadig mongodb://localhost:27090

步骤 2:卸载 Zadig

  1. helm list -n <Zadig 所在的 Namespace> # 获得 Zadig 的 release name
  2. helm uninstall <release name> -n <Zadig 所在的 Namespace>

步骤 3:安装 Zadig v1.7.0

  1. 根据 生成安装命令
  1. (执行生成的 Helm 安装命令) helm install ...
  1. 确保安装完成后 Pod 状况正常 (如果不正常,自行解决)
  2. 恢复数据至备份版本
  1. # 确保操作的机器上有 MongoDB 客户端
  2. # 执行以下命令获取 MongoDB 的 Pod 名称
  3. kubectl get pods -n <Zadig 所在的 Namespace>
  4. # 寻找 zadig-mongodb 开头的 Pod 名称, 执行以下命令进行 port 转发
  5. kubectl port-forward pod/<上一步中获取到的 Pod 名称> -n <Zadig 所在的 Namespace> 27090:27017
  6. # 如果使用 Zadig 安装的 MongoDB,对数据进行恢复
  7. mongorestore mongodb://localhost:27090 <备份数据文件/目录>
  1. 下载数据同步工具v1.7.0 Release Notes - 图13 (opens new window),执行升级 Job。

    1. 修改 YAML 最后一行脚本 value: {{ default "http" .Values.protocol }}://{{- include "zadig.endpoint" . }} 为系统实际访问域名/IP
    2. 执行如下命令。
    1. kubectl apply -f 1.7.0-upgrade.yaml -n <Zadig 所在 namespace>
  2. 确保 Job 执行成功。

步骤 4:验证安装结果

  1. 版本信息确认
    1. 访问 <安装后的 Zadig 地址>/signin
    2. 查看登录界面右下角 info 提示,Version 信息为 1.7.0
  2. 新版本正确性检查,推荐校验点
    1. 管理员访问系统中任一正常使用的项目
    2. 执行工作流,对指定环境的服务进行部署更新
    3. 新建集成环境、删除集成环境、更新集成环境
    4. 提交代码变更,确认配置了 Webhook 的工作流是否被按照预期触发

失败回滚流程

  1. 卸载 Zadig (方式)
  2. 重新安装 Zadig v1.6.0
  1. 回滚数据至备份版本
  1. # 确保操作的机器上有 MongoDB 客户端
  2. # 执行以下命令进行 port 转发
  3. kubectl port-forward svc/zadig-mongodb -n <Zadig 所在的 Namespace> 27090:27017
  4. # 对数据进行恢复
  5. mongorestore mongodb://localhost:27090 <备份数据文件/目录>
    1. 下载数据回滚工具 (opens new window)
    2. 根据自己 Zadig 的安装方式,修改 YAML 内容:
      1. 最后一行修改为系统实际访问域名/IP
      2. mongodb://zadig-mongodb:27017修改为对应的连接串
      3. -d下面一行的修改为对应的 dbname
    3. 执行如下命令
    1. kubectl apply -f 1.7.0-revert.yaml -n <Zadig 所在 namespace>