2022 年 4 月 21 日,Zadig 正式发布 v1.11.0。

功能列表

项目

  • 支持 Helm 版本管理 retag image
  • 支持 Helm Chart 模板库导入 Gerrit 代码源
  • 支持 Helm Chart 从微软云、阿里云 ACR 仓库导入
  • 支持自定义 Helm Release 名称
  • 支持 Pod Debug 权限独立管理

环境

  • K8s YAML 项目环境支持开启自测模式
  • K8s YAML 项目创建环境支持选择部分服务
  • K8s Helm Chart 项目创建环境支持选择部分服务
  • 环境配置支持 Ingress/ConfigMap/Secret/PVC 资源类型
  • 服务部署支持镜像名和服务 container 名称不一致
  • 主机环境支持登录调试

工作流

  • 工作流支持分发部署步骤
  • Jenkins 构建执行参数支持 IMAGE 变量规则 & Choice 参数类型
  • 构建支持将指定文件上传至 S3 对象存储

系统设置

  • 代码源支持 Gitee 集成
  • 敏感信息做加密处理
  • 支持镜像仓库配置自签证书
  • 镜像缓存支持定时清理
  • 基础设施兼容 Kubernetes 1.22 版本
  • PVC 缓存支持自定义缓存目录
  • 主机管理增加主机状态展示

功能优化

  • 工作流任务执行支持不配置「分发」步骤也可选择 TAG
  • 同一 Helm Chart 中的多服务组件更新只需一次部署
  • 工作流扩展步骤请求参数增强
  • 主机项目构建脚本支持主机信息、环境信息等相关环境变量
  • K8s YAML 项目更新环境变量支持变量搜索
  • 镜像名称支持使用 Commit ID 前八位生成规则

Bugfix

  • 修复配置多个同地址 GitLab,Webhook 触发服务更新失效的问题
  • 修复构建超时后,构建 Job 未及时清理的问题
  • 修复工作流定时器快捷开关无效的问题
  • 修复有 Ingress 资源时环境加载慢的问题
  • 修复主机项目中新创建的服务不能同步更新到环境的问题
  • 修复协作模式相关问题

版本升级过程

注意

如果当前系统版本 < v1.10.0,请先升级到 v1.10.0,具体升级过程参见 v1.10.0 升级方式,再按照以下方式升级到 v1.11.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

升级操作

请根据不同的安装方式执行对应的升级步骤。

安装方式:All in One 一键安装模式基于现有 Kubernetes 安装

这两种安装方式下,均使用基于现有 Kubernetes 安装新中的脚本进行升级。

安装方式:基于 Helm 命令安装

该种安装方式下,执行以下步骤升级至 v1.11.0:

  1. 执行以下命令后查看 zadig.yaml 文件,如果文件中包含镜像信息,需要手动删除。
  1. helm get values <Release Name> -n <Zadig Namespace> > 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.11.0
  • IP + PORT 方式:
  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} \
  6. --set gloo.gatewayProxies.gatewayProxy.service.type=NodePort --version=1.11.0

升级后注意事项

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