阿里云镜像服务为每个仓库提供了触发器的功能,帮助用户在镜像构建成功后进行消息的推送,实现持续集成的后续流程。如果用户设置了一个容器服务的触发器,那么当镜像构建成功后,将会自动触发容器服务上应用拉取新的镜像,并进行重新部署。
阿里云镜像服务提供了两种不同的方式来设置触发器的触发条件:表达式触发和 Tag 触发。之前未设置触发条件的触发器会默认为全部触发类型。
表达式触发:基于正则表达式来进行 Tag 的过滤,只有当符合正则表达式的 Tag 才会继续触发触发器
Tag 触发:基于用户筛选的 Tag 列表来进行触发。
使用示例
填写表达式触发
可以填写简单的正则表示,如 release-v.*,则只有 Tag 为 release-v 开头的镜像版本在构建后,才会触发后续持续集成的流程;否则为未触发状态,访问记录中访问状态码将显示“未触发”。
单击访问记录,可以查看触发器的历史访问详情。
选择Tag触发
可以在列表中筛选需要触发的 Tag,最多可选 10 个,则只有当 Tag 在列表中时,才会在镜像构建后触发触发器;否则为未触发状态,访问记录中访问状态码将显示“未触发”。
单击访问记录,可以查看触发器的历史访问详情。
通知内容
触发器的通知内容包含了镜像仓库的信息,以及镜像的版本信息,如下所示。其中,镜像仓库信息包括了仓库的 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" } }
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。