v1.8.0 Release Notes

2022 年 1 月 7 日,Zadig 正式发布 v1.8.0。

功能列表

工作流

  • 新建服务时可以选择现有构建脚本
  • 支持使用 YAML 文件配置工作流触发器
  • 工作流构建部署步骤中增加服务是否可见开关
  • 构建和测试支持指定集群以及配置对应调度策略
  • 优化选择多个代码库和分支时的列表加载效率

集成环境

  • 支持为集成环境配置不同的镜像仓库
  • K8s YAML 服务部署时系统不自动配置资源策略

交付中心

  • 版本交付支持 Helm 场景

系统设置

  • 支持 AWS 镜像仓库 ECR
  • 集群资源可指定项目使用范围

开发者中心

  • 执行工作流 API 支持生成 Helm 类型版本/回调功能/镜像分发
  • 获取工作流任务详情 API 新增服务、镜像、测试概览和详细报告链接信息

Bugfix

  • 修复 GitLab 代码源无法选择 Subgroup 中的代码仓库
  • 修复构建过程中单行日志过大导致的构建 hang 住问题
  • 修复 Helm Chart 场景中镜像版本回退不生效问题
  • 修复 Pull Request 触发测试任务时,没有正确使用 PR 的问题
  • 修复用户定义角色和公共角色同名时设置失败问题
  • 修复集成 GitHub 代码源,授权时偶发超时问题
  • 修复 Jenkins 构建时无法运行 job 的问题
  • 修复 Helm 场景工作流部署状态不准确问题
  • 修复有权限的用户查看构建日志时提示 403 的问题
  • 修复 Helm 场景中,更新环境时预览 values 文件报 400 的问题

版本升级过程

注意

如果当前系统版本 < v1.7.0,请先升级到 v1.7.0,具体升级过程参见 v1.7.0 升级方式,再按照以下方式升级到 v1.8.0

数据库备份

如果已经正式使用,升级前请务必做好数据库备份

  1. 数据库备份命令:
  • 备份 MongoDB 数据
  1. mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径
  • 备份 MySQL 数据
  1. mysqldump -h <HOST> -P <PORT> -u root -p user > user.sql
  2. mysqldump -h <HOST> -P <PORT> -u root -p dex > dex.sql
  1. 数据库恢复命令:
  • 恢复 MongoDB 数据
  1. mongorestore -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 --drop 文件存储路径
  • 恢复 MySQL 数据
  1. # 在 MySQL 中执行如下操作:
  2. mysql> drop database user;
  3. mysql> create database user;
  4. mysql> drop database dex;
  5. mysql> create database dex;
  6. # 命令行执行如下数据恢复操作:
  7. mysql -h <HOST> -P <PORT> -u root -p user < user.sql
  8. mysql -h <HOST> -P <PORT> -u root -p dex < dex.sql

升级操作

  1. 如果使用All in One 一键安装模式基于现有 Kubernetes 安装 安装,均使用 基于现有 Kubernetes 安装新中的脚本进行升级,注意事项如下:

注意

  • 执行升级脚本之前需重新 export 参数,如果使用 IP + PORT 的方式安装,请更换 PORT 参数指定不同的端口,避免因端口占用导致升级失败。
  • 尤其注意配置 ENCRYPTION_KEY,否则会导致升级后无法访问之前的数据。关于 ENCRYPTION_KEY 信息的获取可参考:如何获取 ENCRYPTION_KEY
  1. 如果使用基于 Helm 命令安装 安装,执行以下步骤升级至 v1.8.0:

    1. 获取 Zadig 环境中的 helm values,执行以下命令。
    1. helm get values <Release Name> -n <Zadig Namespace> > zadig.yaml

    查看 zadig.yaml 文件,如果文件中包含镜像信息,需要手动删除。

    1. 根据安装方式,执行命令升级。

    域名方式:

    1. export NAMESPACE=<Zadig 安装的 NAMESPACE>
    2. helm repo update
    3. helm upgrade -f zadig.yaml <release_name> koderover-chart/zadig --namespace ${NAMESPACE} --version=1.8.0

    IP + PORT 方式:

    注意

    请使用与安装 v1.7.0/v1.7.1 时不同的端口来升级 v1.8.0,避免因端口占用导致升级失败。

    1. export NAMESPACE=<Zadig 安装的 NAMESPACE>
    2. export PORT=<30000 - 32767 任一端口,与初次安装时使用的端口不同即可>
    3. helm repo update
    4. helm upgrade -f zadig.yaml <release_name> koderover-chart/zadig --namespace ${NAMESPACE} \
    5. --set gloo.gatewayProxies.gatewayProxy.service.httpNodePort=${PORT} --version=1.8.0

(可选)升级后操作

如果升级前 Zadig 系统里集成了外部集群,升级至 v1.8.0 后,需要断开该外部集群的连接并重新集成接入,否则使用该集群进行构建的功能会有异常。集群集成请参考:集群管理