产品使用手册

软件交付面临的问题

系统的软件交付是个漫长且充满挑战的过程,离不开多方的努力和协作。和人、技术、流程、工具等关键要素都息息相关,企业在软件交付中遇到的问题包括但不限于:

  1. 多人使用一套自测联调环境,环境经常不够用,研发过程受到影响,效率低。
  2. 开发完成后才能部署测试环境进行集成验证,问题积重难返且修复代价大。
  3. 大量手工测试且有效性低,测试环境不稳定,自动化测试难以开展,测试工程师价值难以体现。
  4. 上线审批流程冗长,严重影响发布效率。
  5. 运维工程师手工操作繁重,费时费力易出错,心智负担重。
  6. 跨部门碎片化沟通严重,成本高。
  7. ……

方案介绍

研发、测试、运维工程师基于 ZadigX 的协作可以实现代码到可部署物的最短路径,下图涵盖从需求到发布的全流程敏捷交付,我们将在用户核心场景使用中展开介绍如何使用。

产品使用手册

用户核心场景使用

以下面向不同的角色(运维工程师、开发工程师、测试工程师)展开介绍 ZadigX 的使用。

管理员准备

管理员(比如:运维工程师)在 ZadigX 中实现研发、测试、运维日常协同合作所需的工程建设:包括供不同角色所使用的工作流和环境。

工作流

面向角色的工作流介绍
面向角色功能描述工作流名称样例具体配置
开发工程师更新日常开发环境dev-workflow构建、部署、自动化测试
更新开发环境业务配置dev-nacos-workflow构建,Nacos 变更,部署(dev 环境),分发
更新开发环境数据mysql-changemysql 数据库变更,构建,部署
测试工程师更新集成测试环境sit-workflow构建、部署、自动化测试(上报 API 扫描结果)
开启定时任务每日使用 develop 分支更新环境
更新 sit 环境业务配置sit-nacos-workflow构建,Nacos 变更,部署(sit 环境),分发
发布工程师更新预发环境uat-workflow构建、Nacos 变更、部署 uat(变量变更、模板变更),自动化测试
更新生产环境prod-workflow审批,Nacos 变更,部署生产环境(变量变更、模板变更)
更新生产环境数据prod-mysql-change审批,mysql 数据库变更

产品使用手册

环境

面向角色的环境介绍
面向角色环境描述环境名称样例场景介绍
开发工程师用于日常开发、联调dev如果 Java 栈实现灰度能力,可以通过新建环境随时拉起开发自测子环境
如果采用 Istio + Skywalking 技术栈,通过 ZadigX 开启自测模式随时拉起子环境
测试工程师用于测试、集成验证sit自主升级环境,选择一个或多个 PR/MR 进行功能需求的并行验证
用于验收测试uat可以以此环境作为发布生产环境前的用户验收环节
运维工程师用于生产查看prod生产环境管理,变更过程需经过严格审批

产品使用手册

开发工程师

更新服务镜像

  1. 本地编写代码推送到远端分支。
  2. Webhook 自动触发工作流执行,执行过程包括: dev 环境构建 + 部署 + smoke test + IM 通知。 产品使用手册 产品使用手册

更新服务业务配置

日常更新 dev/qa 环境 Nacos 配置

执行服务业务配置工作流。 产品使用手册

更新数据

适用场景:改动涉及到数据变更(比如表结构变更、表字段变更…)

执行数据变更工作流。

产品使用手册

日常调试

  1. 进入对应测试环境。
  2. 查看服务状态。

产品使用手册

  1. 查看服务实时日志。

产品使用手册 产品使用手册

  1. 进入容器调试。

产品使用手册 产品使用手册

  1. 临时替换镜像。

产品使用手册

  1. 调整副本数量/重启实例。

产品使用手册

测试工程师

管理测试脚本

挂接到研发测试工作流中。

产品使用手册

产品使用手册

测试验证

执行 sit 工作流更新环境。

产品使用手册

配置变更

执行服务业务配置变更工作流。

产品使用手册

发布工程师

更新预发环境

执行 uat 工作流更新预发环境做预发验证,包含构建 -> Nacos 变更 -> 部署 -> 测试。

产品使用手册

更新生产环境

执行 prod 工作流更新生产环境,包含审批 -> Nacos 变更 -> 部署。

产品使用手册

线上数据库变更

执行 prod 数据库变更工作流。

产品使用手册

项目/企业管理人员

企业项目整体运行状况。

产品使用手册

分析项目各个环境的变化过程及效能短板。

产品使用手册

更多产品特性

面向开发者的云原生环境

一键拉起环境、一键复制环境、多环境/环境配置管理、服务编排、开发者共享环境 - 自测子环境。参考文档:

产品使用手册

灵活易用的高并发工作流

自动生成面向开发、测试、运维角色的工作流;多个微服务并行构建、部署、测试,代码验证效率 UP;支持蓝绿、金丝雀部署、分批次灰度、Istio 等发布策略。自定义工作流,灵活编排、自主开发和对接企业内部流程和系统。参考文档:工作流

产品使用手册

高效协同的测试管理

便捷对接 Jmeter、Pytest 等主流测试框架,跨项目管理和沉淀 UI、API、E2E 测试用例资产。通过工作流,向开发者提供前置测试验证能力。通过持续测试和质量分析,充分释放测试价值。参考文档:测试

产品使用手册

强大免运维的模板库

一套YAML/Chart 模板管理数百微服务;每个技术栈抽象一套构建模板;运维统一规范管理,开发自主使用;跨多项目复用模板。参考文档:

产品使用手册

云原生 IDE 插件 (VSCode)

在 VScode IDE 中使用 Zadig 核心能力;无需打包镜像,即可一键热部署到自测环境;与 Zadig 基准环境交互,完成自测、联调验证。参考文档:VSCode 插件使用指南

产品使用手册