产品使用手册
软件交付面临的问题
系统的软件交付是个漫长且充满挑战的过程,离不开多方的努力和协作。和人、技术、流程、工具等关键要素都息息相关,企业在软件交付中遇到的问题包括但不限于:
- 多人使用一套自测联调环境,环境经常不够用,研发过程受到影响,效率低。
- 开发完成后才能部署测试环境进行集成验证,问题积重难返且修复代价大。
- 大量手工测试且有效性低,测试环境不稳定,自动化测试难以开展,测试工程师价值难以体现。
- 上线审批流程冗长,严重影响发布效率。
- 运维工程师手工操作繁重,费时费力易出错,心智负担重。
- 跨部门碎片化沟通严重,成本高。
- ……
方案介绍
研发、测试、运维工程师基于 ZadigX 的协作可以实现代码到可部署物的最短路径,下图涵盖从需求到发布的全流程敏捷交付,我们将在用户核心场景使用中展开介绍如何使用。
用户核心场景使用
以下面向不同的角色(运维工程师、开发工程师、测试工程师)展开介绍 ZadigX 的使用。
管理员准备
管理员(比如:运维工程师)在 ZadigX 中实现研发、测试、运维日常协同合作所需的工程建设:包括供不同角色所使用的工作流和环境。
工作流
面向角色的工作流介绍 | |||
---|---|---|---|
面向角色 | 功能描述 | 工作流名称样例 | 具体配置 |
开发工程师 | 更新日常开发环境 | dev-workflow | 构建、部署、自动化测试 |
更新开发环境业务配置 | dev-nacos-workflow | 构建,Nacos 变更,部署(dev 环境),分发 | |
更新开发环境数据 | mysql-change | mysql 数据库变更,构建,部署 | |
测试工程师 | 更新集成测试环境 | 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 | 生产环境管理,变更过程需经过严格审批 |
开发工程师
更新服务镜像
- 本地编写代码推送到远端分支。
- Webhook 自动触发工作流执行,执行过程包括: dev 环境构建 + 部署 + smoke test + IM 通知。
更新服务业务配置
日常更新 dev/qa 环境 Nacos 配置
执行服务业务配置工作流。
更新数据
适用场景:改动涉及到数据变更(比如表结构变更、表字段变更…)
执行数据变更工作流。
日常调试
- 进入对应测试环境。
- 查看服务状态。
- 查看服务实时日志。
- 进入容器调试。
- 临时替换镜像。
- 调整副本数量/重启实例。
测试工程师
管理测试脚本
挂接到研发测试工作流中。
测试验证
执行 sit 工作流更新环境。
配置变更
执行服务业务配置变更工作流。
发布工程师
更新预发环境
执行 uat 工作流更新预发环境做预发验证,包含构建 -> Nacos 变更 -> 部署 -> 测试。
更新生产环境
执行 prod 工作流更新生产环境,包含审批 -> Nacos 变更 -> 部署。
线上数据库变更
执行 prod 数据库变更工作流。
项目/企业管理人员
企业项目整体运行状况。
分析项目各个环境的变化过程及效能短板。
更多产品特性
面向开发者的云原生环境
一键拉起环境、一键复制环境、多环境/环境配置管理、服务编排、开发者共享环境 - 自测子环境。参考文档:
灵活易用的高并发工作流
自动生成面向开发、测试、运维角色的工作流;多个微服务并行构建、部署、测试,代码验证效率 UP;支持蓝绿、金丝雀部署、分批次灰度、Istio 等发布策略。自定义工作流,灵活编排、自主开发和对接企业内部流程和系统。参考文档:工作流。
高效协同的测试管理
便捷对接 Jmeter、Pytest 等主流测试框架,跨项目管理和沉淀 UI、API、E2E 测试用例资产。通过工作流,向开发者提供前置测试验证能力。通过持续测试和质量分析,充分释放测试价值。参考文档:测试。
强大免运维的模板库
一套YAML/Chart 模板管理数百微服务;每个技术栈抽象一套构建模板;运维统一规范管理,开发自主使用;跨多项目复用模板。参考文档:
云原生 IDE 插件 (VSCode)
在 VScode IDE 中使用 Zadig 核心能力;无需打包镜像,即可一键热部署到自测环境;与 Zadig 基准环境交互,完成自测、联调验证。参考文档:VSCode 插件使用指南。