8.2. 创建后触发设置
创建触发器后,在使用触发器前需要两个额外的步骤 :
- 提供对创建触发器时生成的 SSH 公钥 的读取访问。
- 设置 POST 到 Red Hat Quay 端点以触发构建的 webhook。
密钥和 URL 都可以通过从触发器列表中的 gear 中选择 View Credentials
。
8.2.1. SSH 公钥访问
根据 Git 服务器设置,可以通过各种方法为自定义 git 触发器安装 Red Hat Quay 生成的 SSH 公钥。例如,Git 文档描述了一个小型服务器设置,只需将密钥添加到 $HOME/.ssh/authorize_keys
中即可提供对构建器克隆存储库的访问权限。对于任何未正式支持的 git 存储库管理软件,通常有一个位置来输入通常标记为 Deploy Keys
的密钥。
8.2.2. Webhook
要自动触发构建,必须通过以下格式将 JSON 有效负载 POST 到 webhook URL:
{ "commit": "1c002dd", // required "ref": "refs/heads/master", // required "default_branch": "master", // required "commit_info": { // optional "url": "gitsoftware.com/repository/commits/1234567", // required "message": "initial commit", // required "date": "timestamp", // required "author": { // optional "username": "user", // required "avatar_url": "gravatar.com/user.png", // required "url": "gitsoftware.com/users/user" // required }, "committer": { // optional "username": "user", // required "avatar_url": "gravatar.com/user.png", // required "url": "gitsoftware.com/users/user" // required } } }
注意
此请求需要一个 Content-Type
标头,其中包含 application/json
才能有效。
同样,这可以通过各种方式完成,具体取决于服务器设置,但在大多数情况下,可以通过 post-receive git hook 来完成。