容器镜像服务 - Webhook使用说明

Webhook介绍

阿里云镜像服务为每个仓库提供了Webhook的功能,帮助用户在镜像构建成功后进行消息的推送,实现持续集成的后续流程。如果用户设置了一个容器服务触发器的Webhook,那么当镜像构建成功后,将会自动触发容器服务上应用拉取新的镜像,并进行重新部署。详见文章
目前,阿里云镜像服务提供了两种不同的方式来设置Webhook的触发条件,一种是表达式触发,一种是Tag触发。表达式触发能基于正则表达式来进行Tag的过滤,只有当符合正则表达式的Tag才会继续触发Webhook;而Tag触发,则是基于用户筛选的Tag列表来进行触发。之前未设置触发条件的Webhook会默认为全部触发类型。

使用示例

1. 填写表达式触发

可以填写简单的正则表示,如"release-v.*",则只有Tag为“release-v”开头的镜像版本在构建后,才会触发后续持续集成的流程,否则为未触发状态,访问记录中访问状态码将显示“未触发"。
容器镜像服务 - Webhook使用说明
点击访问记录,可以查看webhook的历史访问详情。
容器镜像服务 - Webhook使用说明

2. 选择Tag触发

可以在列表中筛选需要触发的tag,最多可选10个,则只有当Tag在列表中时,才会在镜像构建后触发Webhook,否则为未触发状态,访问记录中访问状态码将显示“未触发"。
容器镜像服务 - Webhook使用说明

点击访问记录,可以查看webhook的历史访问详情:
容器镜像服务 - Webhook使用说明

通知内容

Webhook的通知内容包含了镜像仓库的信息,以及镜像的版本信息,如下所示。其中,镜像仓库信息包括了仓库的namespace、name以及仓库对应的region等。

POST /payload HTTP/1.1

Content-Type: application/json
Request URL: https://cs.console.aliyun.com/hook/trigger?triggerUrl=YzRmMWE5YzM2ZjMzYzQ0NmFiMGYzNWJlMmM2MjM2NzIyfGV4cHJlc3N8cmVkZXBsb3l8MThlMmllY2drdXYyZXw=&secret=365a4a664b45615438716a487a75695a7ac48329224b35b073c2197374e7d62a
Request method: POST

{
    "push_data": {
        "digest": "sha256:457f4aa83fc9a6663ab9d1b0a6e2dce25a12a943ed5bf2c1747c58d48bbb4917", 
        "pushed_at": "2016-11-29 12:25:46", 
        "tag": "latest"
    }, 
    "repository": {
        "date_created": "2016-10-28 21:31:42", 
        "name": "repoTest", 
        "namespace": "namespace", 
        "region": "cn-hangzhou", 
        "repo_authentication_type": "NO_CERTIFIED", 
        "repo_full_name": "namespace/repoTest", 
        "repo_origin_type": "NO_CERTIFIED", 
        "repo_type": "PUBLIC"
    }
}
上一篇:Android应用程序组件Content Provider的启动过程源代码分析(5)


下一篇:2017上海云栖Workshop-基于飞天专有云敏捷版构建应用DevOps实践操作