IDC

容器镜像服务 管理触发器 - 操作指南

作者:admin 2021-09-18 我要评论

操作场景 腾讯云容器镜像服务(Tencent Container Registry,TCR)支持用户配置并使用灵活的触发器功能。可通过在实例内配置合适的触发器,快速接入现有研发流程...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

操作场景

腾讯云容器镜像服务(Tencent Container Registry,TCR)支持用户配置并使用灵活的触发器功能。可通过在实例内配置合适的触发器,快速接入现有研发流程及 CI/CD 平台,实现镜像更新自动触发应用部署等容器 DevOps 场景。

触发器功能允许用户自定义创建触发器规则,并支持查看触发日志。其中,触发动作同时支持容器镜像及 Helm Chart 的推送,拉取及删除操作。触发规则支持灵活的正则表达式过滤、指定实例内命名空间及通过配置镜像仓库和版本的正则过滤规则,实现仅部分仓库或特殊命名格式的镜像版本可启动触发器。自定义 Header 功能支持以 Key:Value 的形式配置访问目标 URL 时的 Header,可用于鉴权等场景。

前提条件

在创建并管理 TCR 企业版实例的触发器前,您需要完成以下准备工作:

  • 已成功 购买 TCR 企业版实例。
  • 如果使用子账号进行操作,请参考 企业版授权方案示例 提前为子账号授予对应实例的操作权限。

操作步骤

创建触发器

  1. 登录 容器镜像服务 控制台,选择左侧导航栏中的【触发器】。
    在“触发器”页面即可查看当前实例内的触发器规则列表。如需切换实例,请在页面上方的“实例名称”下拉列表中进行选择。
  2. 单击【新建】,在弹出的“新建触发器”窗口中,参考以下提示进行规则配置。如下图所示:
    • 名称:实例规则名称,支持小写字母、数字及(-._)三种符号,且需以字母数字开头。本文以 webhook-demo 为例。
    • 描述:规则描述,支持中文。
    • 触发动作:当前支持推送镜像、删除镜像,上传 Helm Chart 及删除 Helm Chart 四种触发动作。触发器执行时,发起的 webhook 请求内将包含该触发动作信息。
    • 触发规则
      • 触发实例:触发器所属的实例,即为当前已选择实例,不可修改。
      • 命名空间:触发器生效的命名空间,如果列表为空,请先在该实例内 创建命名空间。
      • 仓库名称:触发器生效的仓库名称,支持对镜像仓库及 Helm Chart 仓库进行正则匹配。
        说明:

        正则表达式规则可填写如 nginx-*{repo1,repo2} 等,其中:

        • * : 匹配不包含 '/' 的任何字段。
        • **:匹配包含 '/' 的任何字段。
        • ? :匹配任何单个非 '/' 的字符。
        • {选项1,选项2,...}:同时匹配多个选项。
      • 版本Tag:触发器生效的 Tag,支持正则匹配,规则与仓库名称一致。如需所有版本均可触发,可不填写。
    • URL:触发器被触发后,发起请求的目标 URL。触发器将向该 URL 地址发起 POST 请求,请求 body 中将包含触发动作、触发规则等信息。
    • Header:触发器发起 POST 请求时,支持以 Key:Value 形式输入可携带的 Header 信息。例如,Authentication: xxxxxxx
  3. 单击【确定】即可创建同步规则。

管理触发器规则

成功创建后即可在“触发器”页面查看已创建的触发器规则,您可执行以下操作管理触发器规则。如下图所示:

  • 查看触发日志:单击触发器规则名称,或触发器规则名称右侧的【触发日志】即可查看该规则触发日志,详情请参见 查看触发器日志。
  • 修改规则状态表示规则启用,表示规则关闭。新建的实例同步规则默认为启用状态,您可自行调整。
  • 配置:重新配置触发器规则,可配置全部参数。
  • 删除:删除该触发器规则。

查看触发器日志

单击指定触发器规则名称,或触发器规则名称右侧的【触发日志】,即可查看该规则的触发日志。如下图所示:

包含信息如下:

  • 任务ID:实例内唯一的触发器任务 ID。
  • 触发动作:产生该次触发的触发动作,例如推送镜像。
  • 触发仓库:产生该次触发动作的仓库资源。
  • 状态:触发器执行 webhook 请求的成功状态 。
  • 创建时间:该次触发的启动时间,即发起 webhook 请求的时间。

相关信息

Webhook 请求格式参考

当用户对符合规则的资源执行相应动作时,例如向指定镜像仓库推送新的镜像时,则相应触发器将被触发,并向规则中配置的 URL 发起 HTTP POST 请求,请求 Body 中包含的触发动作、仓库路径等信息。以下为推送镜像触发后并经解析的请求 Body 信息,可供开发 Webhook 服务端参考。

{
 "type": "pushImage",
 "occur_at": 1589106605,
 "event_data": {
   "resources": [
     {
       "digest": "sha256:89a42c3ba15f09a3fbe39856bddacdf9e94cd03df7403cad4fc105xxxx268fc9",
       "tag": "v1.10.0",
       "resource_url": "xxx-bj.tencentcloudcr.com/public/nginx:v1.10.0"
     }
   ],
   "repository": {
     "date_created": 1587119137,
     "name": "nginx",
     "namespace": "public",
     "repo_full_name": "public/nginx",
     "repo_type": "public"
   }
 },
 "operator": "332133xxxx"
}

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
腾讯云代理商
精彩导读
海外云服务器
热门资讯
腾讯云代理商