Skip to main content

Проверка подлинности в API GitHub

Learn how to authenticate to the GitHub API to use Actions Runner Controller with GitHub.

Юридическое уведомление

Обзор

Вы можете пройти проверку подлинности Actions Runner Controller (ARC) в API GitHub с помощью GitHub App или с помощью personal access token (classic).

Note

Проверку подлинности невозможно выполнить с помощью GitHub App для запуска на корпоративном уровне. Дополнительные сведения см. в разделе Управление доступом к самостоятельно размещенным средствам выполнения с помощью групп.

Проверка подлинности ARC с помощью GitHub App

  1. Создайте GitHub App, принадлежащих организации. Дополнительные сведения см. в разделе Регистрация приложения GitHub. Настройте GitHub App следующим образом.

    1. Введите https://github.com/actions/actions-runner-controllerurl-адрес домашней страницы.

    2. В разделе "Разрешения" щелкните разрешения репозитория. Затем используйте раскрывающееся меню, чтобы выбрать следующие разрешения доступа.

      • Администрирование: чтение и запись

        Note

        Administration: Read and write требуется только при настройке Actions Runner Controller для регистрации в области репозитория. Не требуется регистрироваться в области организации.

      • Метаданные: только для чтения

    3. В разделе "Разрешения" щелкните разрешения организации. Затем используйте раскрывающееся меню, чтобы выбрать следующие разрешения доступа.

      • Локальные средства выполнения: чтение и запись
  2. После создания GitHub Appна странице GitHub Appобратите внимание на значение "Идентификатор приложения". Это значение будет использоваться позже.

  3. В разделе "Закрытые ключи" щелкните "Создать закрытый ключ" и сохраните .pem файл. Этот ключ будет использоваться позже.

  4. В меню в левом верхнем углу страницы нажмите кнопку "Установить приложение" и рядом с организацией нажмите кнопку "Установить ", чтобы установить приложение в вашей организации.

  5. После подтверждения разрешений на установку в организации обратите внимание на идентификатор установки приложения. Оно понадобится вам позже. Идентификатор установки приложения можно найти на странице установки приложения, который имеет следующий формат URL-адреса:

    https://github.com/organizations/ORGANIZATION/settings/installations/INSTALLATION_ID

Проверка подлинности ARC с помощью personal access token (classic)

Arc может использовать personal access tokens (classic) для регистрации локальных модулей выполнения.

  1. Создайте personal access token (classic) с необходимыми областями. Требуемые области различаются в зависимости от того, регистрируете ли вы средства выполнения в репозитории уровня. Дополнительные сведения о создании personal access token (classic)см. в разделе Управление личными маркерами доступа.

    Ниже приведен список обязательных областей personal access token для runners ARC.

    • Средства выполнения репозитория: repo
    • Запуски организации: admin:org
  2. Чтобы создать секрет Kubernetes со значением данных personal access token (classic), используйте следующую команду.

    Note

    Создайте секрет в том же пространстве имен, где установлена диаграмма gha-runner-scale-set . В этом примере пространство имен соответствует arc-runners документации по краткому руководству. Дополнительные сведения см. в разделе «Краткое руководство по контроллеру запуска действий».

    Bash
    kubectl create secret generic pre-defined-secret \
       --namespace=arc-runners \
       --from-literal=github_token='YOUR-PAT'
    
  3. В копии файла передайте имя секрета values.yaml в качестве ссылки.

    githubConfigSecret: pre-defined-secret
    

    Дополнительные параметры конфигурации Helm см values.yaml . в репозитории ARC.

Части были адаптированы в соответствии с https://github.com/actions/actions-runner-controller/ лицензией Apache-2.0:

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.