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
数据库备份
如果已经正式使用,升级前请务必做好数据库备份
- 数据库备份命令:
- 备份 MongoDB 数据
mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径
- 备份 MySQL 数据
mysqldump -h <HOST> -P <PORT> -u root -p user > user.sql
mysqldump -h <HOST> -P <PORT> -u root -p dex > dex.sql
- 数据库恢复命令:
- 恢复 MongoDB 数据
mongorestore -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 --drop 文件存储路径
- 恢复 MySQL 数据
# 在 MySQL 中执行如下操作:
mysql> drop database user;
mysql> create database user;
mysql> drop database dex;
mysql> create database dex;
# 命令行执行如下数据恢复操作:
mysql -h <HOST> -P <PORT> -u root -p user < user.sql
mysql -h <HOST> -P <PORT> -u root -p dex < dex.sql
升级操作
- 如果使用All in One 一键安装模式 或 基于现有 Kubernetes 安装 安装,均使用 基于现有 Kubernetes 安装新中的脚本进行升级。注意事项如下:
注意
- 执行升级脚本之前需重新 export 参数,如果使用 IP + PORT 的方式安装,请更换 PORT 参数指定不同的端口,避免因端口占用导致升级失败。
- 尤其注意配置 ENCRYPTION_KEY,否则会导致升级后无法访问之前的数据。关于 ENCRYPTION_KEY 信息的获取可参考:如何获取 ENCRYPTION_KEY。
如果使用基于 Helm 命令安装 安装,执行以下步骤升级至 v1.8.0:
- 获取 Zadig 环境中的 helm values,执行以下命令。
helm get values <Release Name> -n <Zadig Namespace> > zadig.yaml
查看 zadig.yaml 文件,如果文件中包含镜像信息,需要手动删除。
- 根据安装方式,执行命令升级。
域名方式:
export NAMESPACE=<Zadig 安装的 NAMESPACE>
helm repo update
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,避免因端口占用导致升级失败。
export NAMESPACE=<Zadig 安装的 NAMESPACE>
export PORT=<30000 - 32767 任一端口,与初次安装时使用的端口不同即可>
helm repo update
helm upgrade -f zadig.yaml <release_name> koderover-chart/zadig --namespace ${NAMESPACE} \
--set gloo.gatewayProxies.gatewayProxy.service.httpNodePort=${PORT} --version=1.8.0
(可选)升级后操作
如果升级前 Zadig 系统里集成了外部集群,升级至 v1.8.0 后,需要断开该外部集群的连接并重新集成接入,否则使用该集群进行构建的功能会有异常。集群集成请参考:集群管理。