概述
您可以使用 GitHub 应用或使用个人访问令牌(传统方式)对 Actions 运行器控制器 (ARC) 到 GitHub API 进行身份验证。
注意
您无法对企业级运行器使用 GitHub 应用进行身份验证。有关详细信息,请参阅“使用组管理对自托管运行器的访问权限”。
使用 GitHub App 认证 ARC
-
创建一个由组织拥有的 GitHub App。有关更多信息,请参阅“注册 GitHub App”。按照以下步骤配置 GitHub App。
-
对于“主页 URL”,输入
https://github.com/actions/actions-runner-controller
。 -
在“权限”下,点击存储库权限。然后使用下拉菜单选择以下访问权限。
-
管理:读写
注意
管理:读写
仅在将 Actions Runner Controller 配置为在存储库范围内注册时才需要。在组织范围内注册不需要它。 -
元数据:只读
-
-
在“权限”下,点击组织权限。然后使用下拉菜单选择以下访问权限。
- 自托管运行器:读写
-
-
创建 GitHub App 后,在 GitHub App 的页面上,记下“App ID”的值。稍后您将使用此值。
-
在“私钥”下,点击生成私钥,并保存
.pem
文件。稍后您将使用此密钥。 -
在页面左上角的菜单中,点击安装应用,然后在您的组织旁边,点击安装以将应用安装到您的组织。
-
在确认您组织的安装权限后,请记下应用安装 ID。您稍后会用到它。您可以在应用安装页面上找到应用安装 ID,该页面具有以下 URL 格式
https://github.com/organizations/ORGANIZATION/settings/installations/INSTALLATION_ID
-
将应用 ID、安装 ID 和从上一步下载的
.pem
私钥文件注册到 Kubernetes 作为密钥。要使用 GitHub App 的值创建 Kubernetes 密钥,请运行以下命令。
注意
在安装
gha-runner-scale-set
图表的同一命名空间中创建密钥。在本例中,命名空间为arc-runners
以匹配快速入门文档。有关更多信息,请参阅“Actions Runner Controller 快速入门”。Bash kubectl create secret generic pre-defined-secret \ --namespace=arc-runners \ --from-literal=github_app_id=123456 \ --from-literal=github_app_installation_id=654321 \ --from-literal=github_app_private_key='-----BEGIN RSA PRIVATE KEY-----********'
kubectl create secret generic pre-defined-secret \ --namespace=arc-runners \ --from-literal=github_app_id=123456 \ --from-literal=github_app_installation_id=654321 \ --from-literal=github_app_private_key='-----BEGIN RSA PRIVATE KEY-----********'
然后使用您复制的
values.yaml
文件中的githubConfigSecret
属性,将密钥名称作为引用传递。githubConfigSecret: pre-defined-secret
有关其他 Helm 配置选项,请参阅 ARC 存储库中的 values.yaml
。
使用个人访问令牌 (经典) 认证 ARC
ARC 可以使用个人访问令牌 (经典) 来注册自托管运行器。
-
创建具有所需范围的个人访问令牌 (经典)。所需范围取决于您是在存储库级别还是组织级别注册运行器而有所不同。有关如何创建个人访问令牌 (经典) 的更多信息,请参阅“管理您的个人访问令牌”。
以下是 ARC 运行器所需的个人访问令牌范围列表。
- 存储库运行器:
repo
- 组织运行器:
admin:org
- 存储库运行器:
-
要使用个人访问令牌 (经典) 的值创建 Kubernetes 密钥,请使用以下命令。
注意
在安装
gha-runner-scale-set
图表的同一命名空间中创建密钥。在本例中,命名空间为arc-runners
以匹配快速入门文档。有关更多信息,请参阅“Actions Runner Controller 快速入门”。Bash kubectl create secret generic pre-defined-secret \ --namespace=arc-runners \ --from-literal=github_token='YOUR-PAT'
kubectl create secret generic pre-defined-secret \ --namespace=arc-runners \ --from-literal=github_token='YOUR-PAT'
-
在您复制的
values.yaml
文件中,将密钥名称作为引用传递。githubConfigSecret: pre-defined-secret
有关其他 Helm 配置选项,请参阅 ARC 存储库中的
values.yaml
。
法律声明
部分内容已根据 Apache-2.0 许可证从 https://github.com/actions/actions-runner-controller/ 改编
Copyright 2019 Moto Ishizawa
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.