触发器配置

功能介绍

在保留 Spinnaker 部分原生触发器类型的基础上, CODING 部署控制台扩充了触发器类型,使之可以与 CODING 上游制品库匹配.目前支持 4 种触发器类型:Git 仓库触发、Webhook 触发、定时触发是 Spinnaker 原生支持的触发器类型;CODING Docker 仓库触发为新增的触发器类型。

Artifact Constraints:将 Expected Artifacts 配置的制品作为触发器的约束条件,支持多选;触发器必须携带至少一个约束条件的制品信息才能成功触发部署流程。

CODING Docker 仓库触发

配置 cd-demo 项目下的 cd-demo 制品库作为触发器,并将 Expected Artifacts 配置的 flaskapp-image 制品作为触发器的约束条件。

Git 仓库触发

支持 CODING 代码库、GitHub、GitLab 三种类型的 Git 仓库。

字段 说明
仓库类型 支持 CODING 代码库、GitHub、GitLab 三种类型的 git 仓库
项目 列出登录账号加入的所有项目
仓库 列出项目下的所有代码仓库
分支或标签规则 支持正则表达式,留空或.*表示不对分支或标签做限制

CODING 代码库

配置 cd-demo 项目下的 cd-demo 代码仓库作为触发器,分支或标签规则 release.* 表示所有以 release 开头命名的分支或 tag 才会触发部署流程执行。

Github

Github 代码库的支持需要提前在项目设置中关联代码库。

配置 cd-demo 项目关联的外部 github 代码仓库 bitnuller/coding-cd-demo 作为触发器,分支或标签规则 release.* 表示所有以 release 开头命名的分支或 tag 才会触发部署流程执行。

Gitlab

跟 github 一样,需要提前在在项目设置中关联代码库。

Webhook 触发

选择 Webhook 触发,将生成全局唯一的 URL 触发地址,Payload Constraints 定义 Payload 请求内容必须提供的参数,支持正则表达式,留空或.*表示不对 Key 的 Value 值做限制。

Payload Constraints:如果需要使用特定内容的 payload 触发 Webhook,可以在 Payload Constraints 一栏添加 key/value 键值对,当部署流程收到 Webhook 请求时,将会 payload 内容进行校验,value 支持正则表达式。

使用场景举例:部署流程 Webhook 地址对公网开放,但只有提供认证凭据才能触发部署流程执行。

如下 Payload 请求会成功触发部署流程执行:

curl --location --request POST 'http://codingcorp.coding.com/api/cd/webhooks/webhook/ba2e9f00-6445-11ea-88b5-a9bc004f5e0f' \
--header 'Content-Type: application/json' \
--data-raw '{
  "parameters": {
    "secret": "faiM4&KqJTTuEy8J",
  }
}'

定时触发

例如每周四晚上 8 点触发部署流程:

上一篇表达式
文档是否对您有用?
感谢反馈有用
感谢反馈没用