You need to enable JavaScript to run this app.
导航

创建工作流

最近更新时间2023.08.22 11:04:57

首次发布时间2023.02.17 14:05:43

工作流用于创建一个完整的应用发布流程:包括工作流配置、人工审核、镜像部署、 脚本执行等环节,支持通知提醒及查看工作流实时日志,发布流程更加完善可靠。通常应用的开发、测试、预发、生产部署阶段对应不同的工作流和环境实例,实现应用在不同环境的发布验证和最终交付。本文为您介绍如何创建一条工作流。

说明

生产环境部署必须创建发布工作流。

前提条件

  • 已完成应用编排。具体操作可参见 应用编排
  • 已完成环境配置更新。具体操作可参见 环境配置
  • 已将您的镜像仓库集成至应用交付。具体操作可参见 外部集成
  • 通知提醒
    • 站内信
      火山引擎账号默认可接收站内信。子用户需完成以下准备,方可正常接收站内信。
      • 火山引擎账号需为子用户配置 SiteMessageReadOnlyAccess 策略,获取查看站内信权限。
      • 火山引擎账号需要前往 消息中心 配置接收规则,添加子用户为消息接收人,并订阅运维消息。
    • 短信
      如果希望通过短信接收消息通知,请确认通知账号已配置安全手机。可前往 账号管理 查看手机绑定情况。
    • 邮件
      如果希望通过邮件接收消息通知,请确认通知账号已配置安全邮箱。可前往 账号管理 查看邮箱绑定情况。

使用限制

  • 每个火山引擎账号的工作流运行时长与流水线运行时长一起计算,具体时长限制值参见 使用限制
  • 每个火山引擎账号的工作流并发数与流水线并发数一起计算,具体并发数限制值参见 使用限制
  • 一条工作流至少配置 1 个预置任务,最多配置 9 个预置任务。
  • 为避免频繁消息轰炸,站内信、短信、邮件具有消息接收频率的限制。具体限制值参见 使用限制

操作步骤

  1. 登录当前应用。

    1. 登录 持续交付控制台
    2. 在左侧导航栏选择 工作区
    3. 单击目标工作区名称,进入当前工作区。
    4. 在左侧导航栏选择 应用交付 > 应用管理
    5. 单击目标应用卡片,进入当前应用。
  2. 单击 发布,切换至发布页签。

  3. 在当前应用的发布页面,单击 创建工作流

  4. 在创建工作流页面,按要求填写 工作流配置 信息。

    • 基本信息
      alt

      配置项说明
      名称自定义工作流名称。同一应用下工作流名称唯一。
      描述填写当前工作流的备注信息,可以为空。

      环境级别

      关联本条工作流适用的环境级别。关联后,当前工作流可以被目标环境级别下的所有环境实例使用。支持的环境级别有:开发、测试、预发、生产。

      说明

      每条工作流仅能唯一关联一种环境级别。

    • 通知提醒
      如果您需要及时了解工作流运行结果,请打开通知提醒开关,并按要求配置工作流消息的通知提醒方式。
      alt

      1. 配置通知事件,选择需要通知提醒的工作流事件。支持多选,默认勾选 开始运行

        配置项说明
        开始运行当工作流开始运行时,将推送消息通知。
        运行成功当工作流运行成功时,将推送消息通知。
        运行失败当工作流运行失败时,将推送消息通知。
        运行终止当工作流被人为终止运行时,将推送消息通知。
      2. 配置通知方式,工作流将通过您指定的方式推送消息。支持多选。

        配置项说明

        站内信

        开启后,消息将推送至火山引擎的 消息中心 > 运维消息

        注意

        火山引擎账号默认可接收站内信。子用户需完成以下准备,方可正常接收站内信。

        • 火山引擎账号需为子用户配置 SiteMessageReadOnlyAccess 策略,获取查看站内信权限。
        • 火山引擎账号需要前往 消息中心 配置接收规则,添加子用户为消息接收人,并订阅运维消息。

        短信

        消息将通过短信的方式推送给指定用户。
        开启后,勾选用户通知类型,支持通知工作流运行人、工作流创建人或者其他账号。对于重复的接收人账号,工作流只会通知一次。

        注意

        请确认通知账号已配置安全手机,否则将无法正常接收到短信通知。可前往 账号管理 查看手机绑定情况。

        邮件

        消息将通过邮件的方式推送给指定用户。
        开启后,勾选用户通知类型,支持通知工作流运行人、工作流创建人或者其他账号。对于重复的接收人账号,工作流只会通知一次。

        注意

        请确认通知账号已配置安全邮箱,否则将无法正常接收到邮件通知。可前往 账号管理 查看邮箱绑定情况。

        Webhook 通知

        消息将通过 Webhook 的方式推送给目标 URL。支持飞书机器人和通用格式两种方式,请根据需要选择。

        • 飞书机器人:将消息推送至飞书机器人。
          • Webhook 地址:输入飞书机器人的 hookurl 地址。
        • 通用格式:工作流将推送一条 POST 请求至目标 URL。
          • Webhook 地址:输入需接收通知的平台或工具的 hookurl 地址。
          • Token:非必填,请求头中携带用于验证推送合法性。
      3. (可选)配置通知内容。Webhook 通用格式通知内容为 POST 请求,其他方式的通知内容模板如下。您可以在输入框内输入自定义通知内容,长度限制在 200 个字符以内。

      基本信息:${工作流名称}-${运行ID}
      触发事件:${触发事件}
      触发详情:${触发详情}
      链接地址:${链接地址}
      自定义内容:${用户自定义}
      
  5. 为工作流添加预置任务。
    当前支持以下三种预置任务:镜像部署、脚本执行、人工审核。一条工作流至少配置 1 个预置任务,最多配置 9 个预置任务。支持拖拽调整任务的顺序。

    • 镜像部署

      说明

      每条工作流仅支持添加一个镜像部署任务。

      在左侧单击 镜像部署,添加一个镜像部署任务,并配置任务信息。
      alt

      配置项说明
      任务名称默认为镜像部署,支持修改。同一工作流下任务名称唯一。
      镜像仓库选择部署应用时从哪个镜像仓库拉取镜像。仅支持选择已集成至应用交付的镜像仓库。手动运行工作流时需输入要使用的镜像repo:tag
    • 脚本执行
      脚本执行支持使用自定义运行环境执行自定义任务,适用于数据库变更、运行一些定时任务、源码编译等场景。
      在左侧单击 脚本执行,添加一个脚本执行任务,并配置任务信息。
      alt

      配置项说明
      任务名称默认为脚本执行,支持修改。同一工作流下任务名称唯一。

      自定义镜像

      自定义镜像用于定义脚本运行的环境。系统预置的镜像仅支持 Bash 命令。如果您需要使用脚本执行更高级的任务,需输入相应的镜像地址。

      注意

      • 镜像必须可通过公网拉取。
      • 仅支持 HTTPS 协议的镜像地址。

      运行脚本

      输入您的运行脚本。执行框内支持设置占位符作为变量传参,手动运行工作流时需输入占位符对应的值,仅支持输入常量。
      示例:

      echo {{ .Script.VALUES1 }} #引入变量 VALUES1,手动运行工作流时需输入 VALUES1 的值。
      echo hello world
      
    • 人工审核
      在左侧单击 人工审核,添加一个人工审核任务,并配置任务信息。
      alt

      配置项说明
      任务名称默认为人工审核,支持修改。同一工作流下任务名称唯一。

      审批方式

      支持 会签 和 或签 两种审批方式。本示例选择或签。

      • 会签:所有审批人通过,即表示任务成功,工作流继续运行。
      • 或签:任一审批人通过,即表示任务成功,工作流继续运行。
      审批角色选择审批人的角色。支持以下四种角色:管理员、开发、测试、运维。

      通知提醒

      启用通知提醒后,工作流运行到人工审核环节时将自动通知审批人。

      • 通知规则:选择具体通知规则,支持多选。
        • 待审批时通知所有审批人:工作流运行到人工审核待审批环节时,将自动通知所有审批人。
        • 审批失败时通知运行人:人工审核任务审批失败时,将自动通知当前工作流的运行人。
      通知方式选择具体通知方式,支持站内信、短信、邮件。支持多选。
  6. 配置完毕后,单击 保存

后续操作

运行工作流,对应用进行发布。详细操作可参见 运行工作流