触发器
功能介绍
CODING 部署控制台支持多种自动触发条件,使之能够与 CODING 中的流水线相互匹配。目前支持 Docker 仓库触发器、TCR 个人版仓库触发器、TCR 企业版仓库触发器、Git 仓库触发器等触发条件。
若需使用 TCR 触发器,需提前在「团队设置中心」→「第三方应用」中绑定腾讯云账号。
Docker 仓库触发
通过配置 Docker 仓库触发器,能够监听制品仓库下的更新情况。若有镜像更新,将自动触发 CD 的部署流程。
Git 仓库触发
支持 CODING 代码库、GitHub、GitLab 三种类型的 Git 仓库。
字段 | 说明 |
---|---|
仓库类型 | 支持 CODING 代码库、GitHub、GitLab 三种类型的 git 仓库 |
项目 | 列出登录账号加入的所有项目 |
仓库 | 列出项目下的所有代码仓库 |
分支或标签规则 | 支持正则表达式,留空或.* 表示不对分支或标签做限制 |
CODING 代码库
配置 cd-demo 项目下的 cd-demo 代码仓库作为触发器,分支或标签规则 release.* 表示所有以 release 开头命名的分支或 tag 才会触发部署流程执行。
Github
若使用 Github 仓库进行触发,需参考关联代码仓库提前将仓库关联至 CODING 项目中。关联完成后选择 GitHub 仓库类型。
GitLab
需要提前关联 GitLab 账号后在制品库中选择 GitLab 仓库类型。点击了解如何关联 GitLab 账号。
Webhook 触发
你可以通过手动或 CI 自动化通过 Webhook 触发部署流程,下文将分别阐述。
- 手动触发
在部署流程的”基础配置”中,触发器类型选择 webhook 触发器,添加自定义变量与启动参数。
点击“生成 curl 命令触发示例”按钮,手动运行该 curl 命令即可触发部署流程。
- CI 自动化
在部署流程中添加“运行脚本”阶段,在脚本配置中填写以下命令,其中自定义变量与启动参数已在上文中的”基础配置“中进行配置。
echo “输出 webhook 传递进来的自定义变量 TEST“
echo ${trigger["payload"].TEST}
echo "输出 webhook 传递进来的启动参数 STARTUP"
echo ${parameters.STARTUP}
配置完成后,前往持续集成流程配置页,设置”触发 CD 流程“阶段,选择”执行 Shell 脚本“步骤,将上文中生成的 curl 命令粘贴至其中。
Jenkinsfile 参考
pipeline {
agent any
stages {
stage('定义变量') {
steps {
script {
env.CI_CUSTOMIZE = sh(returnStdout: true, script: 'echo i-am-ci-customize').trim()
}
script {
env.CI_STARTUP = sh(returnStdout: true, script: 'echo i-am-ci-startup').trim()
}
sh '''echo $CI_CUSTOMIZE
echo $CI_STARTUP'''
}
}
stage('触发CD流程') {
steps {
sh """curl --location --request POST \\
https://jiyunkeji.coding.net/api/cd/webhooks/webhook/9a9bc32f-4bef69-454d029d7f8b \\
--header \'Content-Type: application/json\' \\
--data-raw \'{"parameters":{"STARTUP":"$CI_STARTUP"},"CUSTOMIZE":"$CI_TEST"}\'"""
}
}
}
}
配置完成后,触发 CI 任务后即可联动触发 CD 部署流程。
定时触发
例如天晚上 8 点触发部署流程:
在阅读中是否遇到以下问题?*
您希望我们如何改进?*
如果您希望得到回复,请留下您的邮箱地址。