You need to enable JavaScript to run this app.
导航
创建镜像推送通知规则
最近更新时间:2024.08.21 16:39:35首次发布时间:2024.02.02 09:15:35

镜像仓库支持对指定实例、命名空间或 OCI 制品仓库中的镜像推送事件,发送消息通知,帮忙您第一时间获取镜像推送成功的信息。本文介绍创建镜像推送通知规则的方法。

背景信息

镜像仓库支持对指定实例、命名空间或 OCI 制品仓库中的镜像推送事件发送通知。例如,推送规则的生效范围为 A 命名空间中的所有 Nginx 镜像版本,当 Nginx OCI 制品仓库中新增或更新镜像或 Chart 版本时,镜像仓库将发生镜像推送成功的通知。

前提条件

已创建镜像仓库实例。操作详情参见 创建标准版实例

注意事项

  • 最多支持启用 20 条通知规则,超出限制后新建的规则为禁用状态。如需开启请先禁止或删除存量的规则。
  • 通知规则创建完成并开启后才能生效。支持以下开启方式。
    • 创建时:在 通知规则 > 规则状态 选中 开启
    • 创建后:在通知规则列表页,目标规则的 操作 列下单击 启用,开启规则。

操作步骤

  1. 登录 镜像仓库控制台

  2. 在顶部导航栏,选择目标地域。

  3. 在左侧导航栏单击 事件通知

  4. 事件通知 页面,单击 创建通知规则

  5. 填写通知规则参数。

    • 基本信息

    alt

    参数描述
    触发动作选择触发通知的事件。本场景中选择 镜像推送
    名称自定义通知规则的名称。
    描述填写通知规则的描述。
    • 生效范围

    alt

    参数描述
    生效层级支持基于实例、命名空间和 OCI 制品仓库维度制定通知规则。
    • 实例:基于实例维度制定通知规则,实例下所有命名空间和 OCI 制品仓库都为生效范围。
    • 命名空间:基于命名空间维度制定通知规则,命名空间下所有 OCI 制品仓库都为生效范围。
    • OCI 制品仓库:基于 OCI 制品仓库维度制定通知规则,支持选择多个 OCI 制品仓库。
      实例选择通知规则生效的实例。
      命名空间选择通知规则生效的命名空间。
      OCI 制品仓库选择通知规则生效的 OCI 制品仓库,支持选择多个。
      制品类型选择生效的制品的类型,当前支持 镜像Chart 或者全部。
      版本选择通知规则生效的镜像或者 Chart 版本。支持选择全部或者通过正则表达式筛选。常见的版本筛选正则表达式参见文末 正则匹配示例
      • 通知规则

      alt

      参数描述
      规则状态支持选择启用或禁用通知规则。最多支持启用 20 条通知规则,超出限制后新建的规则为禁用状态。如需开启请先禁止或删除存量的规则。
      通知方式当前仅支持 HTTP(s)
      目标 URL事件触发后访问的 URL 地址,通知的信息将传递到该地址中。例如 Webhook 的地址。
      自定义 Header支持根据业务场景,自定义目标 URL 的 Header。
    • 配置完成后单击 确定,完成创建。

      alt

    消息示例

    成功推送后,您将接收到 Hook 消息通知,示例和参数说明如下。

    {
      "id": "283154ee-797d-4842-9ce4-****",
      "source": "cr",
      "type": "cr:Tag:Push",
      "specversion": "1.0",
      "time": "2024-02-03T20:02:11Z",
      "volcaccountid": "210013****",
      "volcregion": "cn-beijing",
      "data": {
        "image": "enterprise-****.cr.volces.com/event-****/event-****:event-****",
        "registry": "enterprise-****",
        "namespace": "event-****",
        "repository": "event-****",
        "tag": "event-****",
        "digest": "sha256:4e973642bc4933eb9bea99e5b64ddc1bc16a152a4e7038a442bcf2338994****",
        "operator": "paas****@****",
        "type": "Image"
      }
    }
    
    
    参数描述
    id推送消息的 ID。
    source消息推送的源头,固定为 cr,表示镜像仓库产品。
    type触发通知的事件。cr:Image:Pushed 表示镜像推送事件。
    specversion消息通知版本,固定参数,无需关注。
    time消息通知发送的时间。
    volcaccountid消息通知创建人火山引擎账号的 ID。
    volcregion发送消息通知的火山引擎地域。
    dataimage镜像的地址。
    registry镜像所在的实例名称。
    namespace镜像所在的命名空间。
    repositoryOCI 制品的名称。
    tag镜像的版本号。
    digest镜像内容的标识符。
    operator通知创建用户的火山引擎账号。

    type

    推送的 OCI 制品的类型。

    • image :镜像。

    • chart :Helm Chart。

    正则匹配示例

    常用的匹配场景和匹配方式示例如下。

    匹配方式匹配目标正则表达式匹配目标名称
    v1version-1test-1v2v3
    完全匹配仅匹配 v1 版本号。v1----
    前缀匹配匹配以 v 开头的所有版本号。^v.*$-
    多前缀匹配匹配以 vt 开头的所有版本号。^(v|t).*$
    后缀匹配匹配以 -1 结尾的所有版本号。^.*-1$---
    多后缀匹配匹配以 12 结尾的所有版本号。^.*(1|2)$-
    版本号匹配匹配以 v 开头,连接阿拉伯数字结尾的版本号。^v([0-9.]+)$--