工作流

    工作流支持多种策略组合,完成从->部署->测试->分发,全流程的自动化编排,快速验证快速反馈,保证代码的质量。

    参数说明:

    • 工作流名称:名称只支持字母大小写和数字,特殊字符只支持中划线。
    • 选择项目:选择工作流所更新的项目名称。
    • 描述:描述该工作流的详细信息,在工作留详情页展示。
    • 并发运行 :当更新不同服务时触发该工作流,产生的多个任务将会并发执行以提升构建、部署、测试效率。
    • 自动回退镜像版本 : 是否开启工作流任务执行完成后自动回退镜像到任务开始前的版本。

    构建部署

    工作流通过构建部署模块提供更新环境的能力。

    新增服务时,可以对该服务配置构建,或后续通过进行单独配置。Zadig 系统支持多服务同时构建部署。完成配置后,工作流自动添加新增服务,无需额外配置。

    workflow

    交付物部署

    通过修改工作流的测试配置,来实现测试步骤,关于测试配置的创建和使用,请参阅

    自动化测试

    目前 Zadig 支持功能测试和性能测试,用户可以通过添加测试按钮从测试配置中选择要添加的测试项目进行测试。

    workflow

    分发

    参数说明:

    • 添加服务:用户选择要执行分发的服务到分发列表
    • 镜像仓库:用户选择镜像默认分发的仓库,可以到系统设置中的 镜像仓库 查看所有的镜像仓库

    定时器

    通过配置定时器,可以实现周期性的运行工作流

    目前工作流支持的定时器方式主要有:

    • 定时循环:在某个时间点定时执行某个工作流,例如每天 12:00 运行,每周一 10:00 运行
    • 周期循环:周期性的执行某个任务,例如每 30 分钟执行一次工作流
    • Cron表达式:使用标准的 Linux Cron 表达式灵活的配置定时器,例如:”45 4 1,10,22 “,每月 1、10、22 日 4:45 分执行工作流任务

    定时循环

    具体操作步骤:

    • 点击添加按钮添加一项定时循环条目,分别选择周期时间以及时间点
    • 设置工作流任务参数,执行时按设置的参数执行

    间隔循环

    具体操作步骤:

    • 第 1 步:点击添加按钮添加一项间隔循环条目,分别选择周期时间以及时间点
    • 第 2 步:设置工作流参数,执行时按设置的参数执行

    workflow

    Cron 表达式

    具体操作步骤:

    • 第 1 步:点击添加按钮添加一项 Cron 表达式条目,填写 Cron 表达式
    • 第 2 步:设置工作流参数,执行时按设置的参数执行

    新增触发器模块,打开 Webhook 开关

    workflow

    点击添加配置

    参数说明:

    • 目标分支:提交 PR 时的 Base 分支
    • 部署环境:指定触发任务部署步骤更新的环境
    • 基准环境[高级选项] 在 PR 事件触发后会以该环境的服务版本为基础创建一个测试环境,环境名称为 pr-prID-四位随机字符串
    • 环境销毁策略[高级选项] 在 PR 事件触发后,对上述测试环境的销毁策略:每次保留,每次销毁,工作流成功后销毁
    • 部署服务: 指定触发任务构建部署的相应服务
    • 触发事件: push 事件(Merge 操作)时触发,pull_request 提交 PR 时触发,change-merged 修改被merge之后触发
    • 自动取消: 如果你希望只构建最新的提交,则使用这个选项会自动取消队列中的任务
    • : 通过设置监听的文件和目录白名单,可以忽略白名单之外的文件变更,不进行触发工作流。主要用于设置需要匹配的文件目录,如果配置中的文件目录有新增、修改或者删除操作就会触发工作流任务。
      • “/“ 表示代码库中的所有文件;
      • 用 “!” 符号开头可以排除相应的文件和文件夹。例如目录 Test 下所有非 .md 文件改动触发某个工作流,可以设置为 test,!.md
      • 排除多级文件夹需要从一级文件夹写起,且一级文件夹前不能加斜杠,如要排除项目下的test1/test2/目录,可以设置为 /,!test1/test2/,不能设置为/,!test2/,也不能设置为/,!/test1/test2/

    目前支持配置工作流最终执行状态通知到企业微信、钉钉、飞书,具体配置如下图所示。

    企业微信

    请参照企业微信配置文档获取详细信息。

    若为某个群组添加 Bot 可以登录企业微信->选择某个群组后右键点击,选择添加机器人,可以获取到相关 webhook 地址。

    参数说明:

    • 企业微信 Webhook 地址 : 通知到企业微信群 Bot 机器人的地址
    • 通知事件: 可配置通知的规则,工作流状态可多选

    配置步骤图示:

    企业微信配置步骤

    通知效果图示:

    钉钉

    在钉钉上添加自定义 Bot 机器人的时候,必须开启安全设置,安全设置有 3 种,可以设置一种或多种

    • 自定义关键字:如果选择自定义关键字,请输入工作流三个字
    • :开启后,webhook 地址获取参考:获取加签后的 webhook 地址
    • IP 地址(段):具体配置请参考配置文档

    配置步骤图示:

    钉钉配置步骤

    通知效果图示:

    请参照获取详细信息。

    若为某个群组添加 Bot ,可以选择要添加 Bot 的飞书聊天组,点击配置按钮,选择添加机器人。

    飞书配置

    点击下一步,选择添加自定义机器人

    填写机器人描述

    飞书配置

    复制 webhook 地址

    将复制的 webhook 地址回填到工作流配置页面

    飞书配置

    通知效果图示:

    工作流支持多种构建方式,用户可以根据需求灵活配置。工作流模块支持通过自动构建(定时器/ Webhook)的方式实现对代码进行持续集成和持续部署,进行快速验证和快速反馈,保证代码的质量。 具体操作可以参阅工作流的触发部分获取更多的信息。