本文主要介绍如何在代码托管平台正确配置 Zadig 的 Webhook 。
Webhook 可用于以下场景:
通过配置工作流 Webhook 可以实现代码 Push 到代码库以及提交 Pull Request(Merge Request) 时触发工作流的运行,实现从提交到构建自动化的流程。具体可以参考工作流的触发
通过 Webhook 可以实现在代码仓库中托管的服务配置变更实时同步到 Zadig 系统上
提示
v1.3.0 及以上 版本中,系统会自动在 Git 仓库添加 Webhook 配置,无需手动配置
GitLab Webhook 配置 1.3.0 以下版本适用
代码触发 Zadig 工作流,需要在 GitLab 上配置相关的 Webhook。Admin Area
-> System Hooks
,具体配置如图所示:
参数说明:
URL
:[Zadig 系统部署的 URL]/api/aslan/gitlabhook
Secret Token
:用于验证 Payloads,点击用户头像:用户设置 -> 密钥,复制密钥企业版可以在
企业管理
->企业信息
位置查找密钥信息Trigger
:选择Push events
和Merge request events
SSL verification
:选择Enable SSL verification
也可以配置 GitLab 项目级别的 Webhook 触发,选择具体的 GitLab 项目,点击
Settings
->integrations
,具体配置可参考上图。
GitHub Webhook 配置 1.3.0 以下版本适用
Zadig GitHub Webhook 采用的是 GitHub App 的方式,具体配置过程如下:
第 1 步:创建 GitHub App
organization owner 在组织的 settings 中创建一个 GitHub App,并且将创建的 APP 安装到 GitHub organization 下。
个人账号通过
Settings
->Developer setting
->GitHub Apps
,点击New GitHub App
创建 GitHub App。
APP 配置如下:
- 填写 GitHub App name 和 Homepage URL:
参数说明:
GitHub App name
:自定义Homepage URL
:Zadig 系统部署的 URL
- 填写 Webhook 配置:
参数说明:
Active
:选中Webhook URL
:[Zadig 系统部署的 URL]/api/aslan/githubWebHook
Webhook Secret
:用于验证 Payloads,登录 Zadig,点击用户头像:用户设置 -> 密钥,复制密钥
企业版可以在
企业管理
->企业信息
位置查找密钥信息
- Repository permissions:
Checks
:Read & writeContents
:Read-onlyMetadata
:Read-onlyPull requests
:Read-onlyCommit statuses
:Read & write
- Subscribe to events:
- 勾选
Check run
、Pull request
、Push
- 勾选
- 点击
Create GitHub App
创建 GitHub App。
第 2 步:下载 .pem 文件并进行加密
在创建的 GitHub App General 界面,点击 Generate a private key
生成 Private key,并对下载 .pem 文件的内容进行 Base64 加密
:
第 3 步:安装 GitHub App
将 GitHub App 安装到 organization 下。点击 App 头像进入创建的 GitHub App 通用界面,进入 Install App
,选择 Install
:
进行到这一步,GitHub 的配置操作完成。
第 4 步:在 Zadig 系统上集成 GitHub App
第 4 步
:进入 Zadig,系统设置
-> 集成管理
-> GitHub App 集成
,填写 App ID 和加密过的私钥,如图所示:
参数说明:
App ID
:第 3 步生成的 GitHub App 的 IDApp Key
:第 2 步下载的 .pem 文件的 Base64 编码
Gerrit Webhook 配置
Gerrit Webhook 需要 Webhook 插件支持。具体安装请参考链接 (opens new window)。
安装成功之后,效果如图所示: