12.6. 设置自定义 Git 触发器


创建自定义 Git 触发器 后,需要额外的步骤:

  1. 您必须提供在创建触发器时生成的 SSH 公钥的读取访问权限。
  2. 您必须设置 POST 到 Quay.io 端点的 webhook,以触发构建。

只有在使用 自定义 Git 触发器 时,才需要这些步骤。

12.6.1. 获取构建触发器凭证

SSH 公钥和 Webhook 端点 URL 在 Red Hat Quay UI 上提供。

先决条件

  • 您已创建了自定义 Git 触发器

流程

  1. 在存储库的 Builds 页面中,单击 自定义 Git 触发器 菜单 kebab。
  2. 单击 View Credentials
  3. 保存 SSH 公钥和 Webhook 端点 URL。

通过从 Settingsgear 图标选择 View Credentials,可以使用密钥和 URL。

从您的存储库中查看和修改标签

Trigger Credentials

12.6.1.1. SSH 公钥访问

根据 Git 服务器配置,可以通过多种方法安装 Quay.io 为自定义 Git 触发器生成的 SSH 公钥。

例如,服务器上获取 Git 的文档描述了如何在基于 Linux 的机器上设置 Git 服务器,专注于通过 SSH 管理存储库和访问控制。在此过程中,将小服务器设置为将密钥添加到 $HOME/.ssh/authorize_keys 文件夹,它为 构建器 提供克隆存储库的访问权限。

对于任何未正式支持的 Git 存储库管理软件,通常有一个位置来输入通常标记为 Deploy Keys 的密钥。

12.6.1.2. Webhook

要自动触发构建,您必须使用以下格式将 .json 有效负载 POST 到 webhook URL:

注意

此请求需要一个包含 application/jsonContent-Type 标头才能有效。

Webhook 示例

{
  "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
    }
  }
}

这通常可以通过 post-receive Git hook 来完成,但它取决于服务器设置。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.