第 1 章 为 RHTAP 创建 GitHub 应用程序
通过为 RHTAP 创建 GitHub 应用程序,开发人员可以对 Red Hat Developer Hub 进行身份验证,这是他们可以使用 RHTAP 的用户界面(UI)。此 GitHub 应用还允许 RHTAP 访问托管在 GitHub 上的开发人员的源代码。
请记住,您必须在您拥有的 GitHub 组织中创建并安装新应用程序,并希望用于 Red Hat Trusted Application Pipeline 实例。RHTAP 随后可以在该机构中创建新的存储库,以用作其构建的应用的源代码。
先决条件
- GitHub 机构的所有权
步骤
- 登录 GitHub 并进入您的机构(Settings & gt; Organizations)。
- 点击您拥有的组织,并希望用于此 RHTAP 实例。或者您可以选择 New organization 来创建新机构。
- 在机构上下文中,进入 GitHub Apps 页面 (Settings > Developer settings > GitHub Apps)。
- 在页面右侧,在顶部横幅旁边,选择 New GitHub App。
- 如有提示,请根据需要进行身份验证。
- 在 GitHub App name 字段中,输入唯一名称。
- 在 Homepage URL 字段中,输入占位符值,例如 https://www.placeholder.com。
- 在 Callback URL 字段中,输入占位符值。您可以使用相同的占位符值,例如 https://www.placeholder.com。
- 在 Webhook URL 字段中,输入占位符值。您可以使用相同的占位符值,例如 https://www.placeholder.com。另外,确保选中了 Active 复选框(GitHub 默认应执行此操作)。
在本地系统上创建新文件,在其中保存安装过程中后续步骤所需的多个值。在此文件中输入值时,请确保标记它们,以便稍后可以记住每个值是什么。
$ touch ~/install_values.txt
在 CLI 中,生成 secret,然后标记 并将其保存在
~/install_values.txt
中。如果您没有 OpenSSL,您可以按照 下载说明进行操作。
$ openssl rand -hex 20 >> ~/install_values.txt
重要务必保存这个命令的输出!
- 在 GitHub 中,在 Webook secret 字段中输入最后一个命令的输出。
在 Repository permissions 下设置以下权限:
- 管理: 读取和写入
- check: 读取和写入
- 内容:读取和写入
- 问题:读取和写入
- 元数据:只读 (应该已正确设置,但验证其值)
- Pull requests: 读取和写入
在 Organization permissions 下设置以下权限:
- Members: Read-only
- Plan: Read-only
在 Subscribe to events 下,选择以下订阅:
- Check run
- 检查套件
- Commit comment
- Issue comment
- Pull request
- push
- 在什么地方 可以安装此 GitHub 应用程序? 选择 任何帐户。
- 点 Create GitHub App。然后,您应该会看到 Developer Settings 页面。
检索客户端 ID 和应用 ID。标签并将它们保存在
~install_values.txt
中。重要接下来的两个步骤解释了如何收集客户端机密和私钥。您必须保存客户端机密和私钥,并保持访问,才能完成 RHTAP 的安装过程!
-
在新应用程序的页面中,在 Client secrets 旁边,选择 Generate a new client secret。在
~/install_values.txt
中标记并保存客户端 secret。 -
在 GitHub 的同一页面上,在 Private key 下选择 Generate a private key 按钮。您的系统下载
包含私钥的
私钥文件。标签并将私钥文件的内容保存在~/install_values.txt
中。私钥应以-----BEGIN RSA PRIVATE KEY-----
开头,并以-----END RSA PRIVATE KEY-----
结尾。 - 仍然在 GitHub 中的同一页面上,从左侧的选项卡中选择 Install App。
- 使用您的机构名称旁边的绿色 Install 按钮。
- 出现提示时,选择 All repositories,因此 RHTAP 可以在您的机构中创建新存储库。单击绿色 安装 按钮。
其他资源
- 本文档中的步骤基于 Pipelines 作为代码文档来创建 GitHub 应用程序。