You need to enable JavaScript to run this app.
持续交付

持续交付

复制全文
触发器
镜像源 Webhook 触发
复制全文
镜像源 Webhook 触发

持续交付可通过 Webhook 插件的形式监听火山引擎 镜像仓库 CR 的行为,一旦发生符合条件的事件,将自动触发流水线运行。本文为您介绍如何配置镜像源 Webhook 触发规则。

背景信息

对于使用火山引擎镜像仓库服务的用户,可通过配置镜像源 Webhook 触发规则,在镜像更新后自动触发流水线运行。例如:镜像更新后自动触发流水线的部署任务。

前提条件

已创建流水线,具体操作请参见 创建流水线

操作步骤

步骤一:配置动态变量

自定义流水线动态变量,用于获取镜像源消息中的镜像完整地址。

  1. 进入流水线的流程编排页签。
    1. 登录 持续交付控制台
    2. 在左侧导航栏选择 工作区
    3. 单击目标工作区名称,进入当前工作区。
    4. 在左侧导航栏选择 流水线,进入流水线页面。
    5. 在流水线列表中选择目标流水线,单击 ... > 编辑,进入当前流水线的流程编排页签。
  2. 单击 变量,弹出变量设置面板。
  3. 切换至自定义变量页签,单击 添加,新增一个自定义变量。
  4. 按如下要求配置自定义变量,配置完成后单击 确定
    alt
    配置项说明
    参数输入自定义变量的名称,同一条流水线内名称唯一。建议避免与预置变量重名。本示例设置为image
    类型选择变量类型。本场景选择 字符串,由用户自行输入默认值。
    默认值输入默认使用的镜像完整地址。
    描述填写当前变量的备注信息,可以为空。
    隐私不开启隐私设置开关。
    动态开启动态设置开关。

步骤二:配置镜像源 Webhook 触发规则

  1. 在流水线的流程编排页签,在代码源&触发器面板,单击 添加 > 镜像源 Webhook 触发
  2. 按要求配置触发规则,配置完成后单击 确定
    alt
    配置项说明
    触发器名称自定义镜像源 Webhook 触发器的名称。同一流水线下的镜像源 Webhook 触发器名称不可重复。
    URL展示当前流水线的 Webhook URL,流水线通过该 URL 接收 CR Webhook 事件通知。

    过滤条件

    配置触发流水线运行的触发动作和触发条件。

    • 触发动作:选择触发流水线运行的事件。当前仅支持 镜像推送
    • 触发条件:可选配置,用于二次过滤符合条件的镜像推送事件。如不配置,则以 CR 侧配置的事件通知规则的 生效范围 为准。
      触发条件可填写地域、镜像类型、实例名、命名空间、OCI 制品仓库、Tag。当前仅支持填写一个触发条件,填写时支持 Golang 正则表达式,具体示例可参见控制台。
      例如:触发动作为镜像推送,触发条件为"data":{.*?"repository":"nginx"。表示 nginx 仓库发生镜像推送事件时将触发流水线运行。

    运行时变量

    运行时变量用于配置 CR Webhook 触发流水线运行时,动态变量的实际使用值。本场景通过运行时变量和占位符CR_PUSH_IMAGE_URL来传递 CR Webhook 消息中获取的完整镜像地址。

    • 动态变量:下拉选择步骤一设置的 image 变量。
    • 运行值:使用占位符CR_PUSH_IMAGE_URL
    备注填写当前触发器的备注信息,可以为空。

    运行时分支

    当流水线存在代码源时,支持配置运行时使用的代码分支。

    • 开启:可选择镜像源触发流水线时使用的代码分支。如果希望镜像源触发时使用非默认分支,请配置此参数。例如:同一条流水线,代码源默认分支为主分支,但希望镜像源触发特定分支,则可通过配置此参数实现。
    • 关闭:镜像源触发流水线时会使用代码源配置的默认分支。
  3. 单击 保存,保存流水线配置。

说明

您可在后续流水线部署任务中,通过 $(parameters.变量名) 引用 CR Webhook 消息中获取的完整镜像地址,对应用进行镜像升级。例如:本场景中变量名设置为image,故引用方式为 $(parameters.image)

步骤三:在 CR 侧创建镜像推送通知规则

在镜像仓库控制台,创建并启用镜像推送通知规则。具体操作可参见 创建镜像推送通知规则

注意

将步骤二获取的流水线 Webhook URL 填入 通知规则目标 URL

最近更新时间:2024.10.25 18:46:29
这个页面对您有帮助吗?
有用
有用
无用
无用