简介

本文主要介绍 Zadig 工作流的基本概念。Zadig 工作流包括产品工作流自定义工作流 两种类型。

  • 产品工作流:支持按照顺序执行构建部署 -> 测试 -> 分发全流程的自动化编排。
  • 自定义工作流:除了产品工作流的能力外,支持自由编排工作流流程,自定义执行步骤,同时具备配置变更、数据变更、灰度发布等能力。

workflow

产品工作流

产品工作流由不同的任务组成,具体任务类型如下:

任务名称描述具体配置
构建部署拉取代码,执行代码构建和镜像推送,部署到指定环境查看
交付物部署将已有的镜像/二进制包部署到指定环境查看
测试执行自动化测试,对部署结果进行验证查看
分发部署将构建产物分发到对象存储/镜像仓库,并将对应镜像部署到指定环境查看
扩展触发第三方系统,并等待回调查看

自定义工作流

自定义工作流由阶段任务组成:

  • 阶段:对工作流的任务进行逻辑分组,比如构建阶段、部署阶段……多个阶段串行运行,一个阶段可包括多个任务。
  • 任务:一个独立的、完整的操作,比如构建、部署、测试、自定义任务…多个任务可串行执行或并发执行。任务分为两种类型:
    • 自定义任务:通过开发自定义任务实现和第三方系统的交互,具体开发方式参考:自定义工作流任务
    • 官方任务:Zadig 官方提供任务,可以满足复杂的构建、部署、测试、发布等需求,具体任务类型如下:
任务类型任务名称描述配置
构建构建可直接引用「项目」-「构建」模块中的配置查看
部署服务部署更新 Zadig 环境中的服务镜像、变量和服务配置查看
Kubernetes 部署可更新 Kubernetes 中容器镜像查看
更新 K8s YAML 任务使用原生 Kubernetes Patch 能力更新 YAML查看
测试测试可直接引用「项目」-「测试」模块中的测试配置查看
代码扫描可直接引用「项目」-「代码扫描」模块中的配置查看
发布策略Helm Chart 部署可直接将 Helm 仓库中的 Chart 部署到环境中查看
MSE 灰度发布基于 MSE 创建全链路灰度发布资源查看
下线 MSE 灰度服务从环境中删除 MSE 指定灰度标签相关资源查看
部署蓝绿环境基于「服务」模块中的配置部署蓝绿环境查看
蓝绿发布结合前置的「部署蓝绿环境」,执行蓝绿发布查看
金丝雀部署基于 Kubernetes 原生的能力部署金丝雀查看
金丝雀发布结合前置的「金丝雀部署」任务执行金丝雀发布查看
灰度发布基于 Kubernetes 原生的能力执行灰度发布查看
灰度回滚基于 Kubernetes 原生的能力执行回滚任务,滚动升级到灰度之前状态查看
Istio 发布基于 Istio 执行发布过程查看
Istio 回滚基于 Istio 执行回滚任务,回滚到 Istio 发布之前状态查看
项目协同飞书工作项状态变更修改指定飞书项目工作项状态查看
JIRA 问题状态变更修改指定的 JIRA 问题状态查看
配置变更Nacos 配置变更更新指定 Nacos 配置查看
Apollo 配置变更更新并发布指定 Apollo 配置查看
数据变更SQL 数据变更针对指定数据库执行数据变更查看
DMS 数据变更工单创建并跟踪 DMS 数据变更工单查看
服务监测观测云监测使用观测云监测服务是否健康查看
Grafana 监测使用 Grafana 监测服务是否健康查看
CI/CD执行 Jenkins Job可同时执行多个 Jenkins Job 并获取对应日志查看
其他通用任务支持拉取代码、执行 Shell 脚本、文件存储等功能查看
镜像分发可将镜像 Retag 后推送到镜像仓库查看
触发 Zadig 工作流可触发其他 Zadig 自定义工作流查看
下线服务从指定环境中删除服务相关资源查看

触发器

支持的触发器类型:

类型描述配置和使用
Git 触发器代码变更后自动触发工作流查看
定时器定时触发工作流查看
JIRA 触发器JIRA 问题状态变更后自动触发工作流查看
飞书项目触发器飞书项目状态变更后自动触发工作流查看
通用触发器第三方系统通过 Webhook 自动触发工作流查看

通知

工作流支持通知到飞书、企业微信、钉钉群组,具体配置和使用参考:工作流通知

工作流视图

将工作流组织在不同的视图里,方便快速预览和使用。

进入项目 -> 工作流,点击视图 Tab 可分别查看当前视图下的工作流信息,点击 + 按钮可新建视图。

  • 仅系统管理员和项目管理员可操作 新建视图编辑视图删除视图
  • 所有 视图中包含当前项目下的所有工作流,且不可删除
  • 在某个视图下新建工作流后,工作流将自动归属到当前视图中

简介 - 图2 简介 - 图3