8.2. 触发器(trigger-creation)设置
创建触发器后,在使用触发器 前需要 2 个额外的步骤 :
- 提供对创建触发器时生成的 SSH 公钥 的读取访问权限。
- 设置 POST 到 Red Hat Quay 端点的 webhook,以触发构建。
key 和 URL 可随时通过从位于触发器列表中的 gear 选择 View Credentials
即可。
8.2.1. SSH 公钥访问
根据 Git 服务器设置,可以通过各种方式安装 Red Hat Quay 为自定义 git 触发器生成的 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 } } }
注意
此请求需要一个包含 application/json
的 Content-Type
标头才能有效。
再一次,这可以通过不同的方法完成,具体取决于服务器设置,但对于大多数情况,可以通过 post-receive git hook 进行。