Skip to main content

Esta versión de GitHub Enterprise Server se discontinuó el 2024-09-25. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. Para obtener rendimiento mejorado, seguridad mejorada y nuevas características, actualice a la versión más reciente de GitHub Enterprise Server. Para obtener ayuda con la actualización, póngase en contacto con el soporte técnico de GitHub Enterprise.

Autenticación en la API de GitHub

Obtén información sobre cómo autenticarse en la API de GitHub para usar Actions Runner Controller con GitHub.

Aviso legal

Información general

Puedes autenticar Actions Runner Controller (ARC) en la API de GitHub mediante un GitHub App o mediante un personal access token (classic).

Nota: No se puede autenticar mediante un GitHub App para los ejecutores en el nivel empresarial. Para obtener más información, vea «Administración del acceso a los ejecutores autohospedados mediante grupos».

Autenticación de ARC con un GitHub App

  1. Crea un GitHub App que pertenezca a una organización. Para más información, consulta "Registro de una instancia de GitHub App". Configura los datos de GitHub App como se indica a continuación.

    1. En "Dirección URL de la página principal", escribe https://github.com/actions/actions-runner-controller.

    2. En "Permisos", haz clic en Permisos de repositorio. A continuación, usa los menús desplegables para seleccionar los siguientes permisos de acceso.

      • Administración: lectura y escritura

        Nota: Administration: Read and write solo es necesario al configurar Actions Runner Controller para registrarse en el ámbito del repositorio. No es necesario registrarse en el ámbito de la organización.

      • Metadatos: solo lectura

    3. En "Permisos", haz clic en Permisos de la organización. A continuación, usa los menús desplegables para seleccionar los siguientes permisos de acceso.

      • Ejecutores autohospedados: lectura y escritura
  2. Después de crear la GitHub App, en la página de la GitHub App, anota el valor de "Identificador de aplicación". Usarás este valor más adelante.

  3. En "Claves privadas", haz clic en Generar una clave privada y guarda el archivo .pem. Usarás esta clave más adelante.

  4. En el menú de la esquina superior izquierda de la página, haz clic en Instalar aplicación y, junto a tu organización, haz clic en Instalar para instalar la aplicación en la organización.

  5. Después de confirmar los permisos de instalación en la organización, anota el id. de instalación de la aplicación. Lo usará más adelante. Puedes encontrar el id. de instalación de la aplicación en la página de instalación de la aplicación, que tiene el siguiente formato de dirección URL:

    https://HOSTNAME/organizations/ORGANIZATION/settings/installations/INSTALLATION_ID

  6. Registra el identificador de la aplicación, el identificador de instalación y el archivo de clave privada .pem descargado en Kubernetes como secreto en los pasos anteriores.

    Para crear un secreto de Kubernetes con los valores de la GitHub App, ejecuta el comando siguiente.

    Nota: Crea el secreto en el mismo espacio de nombres donde está instalado el gráfico gha-runner-scale-set. En este ejemplo, el espacio de nombres es arc-runners para que corresponda a la documentación de inicio rápido. Para obtener más información, vea «Inicio rápido para 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-----********'
    

    Después, usa la propiedad githubConfigSecret de tu copia del archivo values.yaml para pasar el nombre del secreto como referencia.

    githubConfigSecret: pre-defined-secret
    

Para ver más opciones de configuración de Helm, consulta values.yaml en el repositorio de ARC.

Autenticación de ARC con un personal access token (classic)

ARC puede usar personal access tokens (classic) para registrar ejecutores autohospedados.

Nota: Autenticar ARC con un personal access token (classic) es el único método de autenticación admitido para registrar ejecutores en el nivel empresarial.

  1. Crea una personal access token (classic) con los ámbitos requeridos. Los ámbitos necesarios son diferentes en función de si vas a registrar ejecutores en el nivel de repositorio, la organización o la empresa. Para más información sobre cómo crear un personal access token (classic), consulte "Administración de tokens de acceso personal."

    A continuación se muestra la lista de los ámbitos de personal access token para los ejecutores de ARC.

    • Ejecutores del repositorio: repo
    • Ejecutores de la organización: admin:org
    • Ejecutores empresariales: manage_runners:enterprise
  2. Para crear un secreto de Kubernetes con el valor de tu personal access token (classic), usa el comando siguiente.

    Nota: Crea el secreto en el mismo espacio de nombres donde está instalado el gráfico gha-runner-scale-set. En este ejemplo, el espacio de nombres es arc-runners para que corresponda a la documentación de inicio rápido. Para obtener más información, vea «Inicio rápido para Actions Runner Controller».

    Bash
    kubectl create secret generic pre-defined-secret \
       --namespace=arc-runners \
       --from-literal=github_token='YOUR-PAT'
    
  3. En la copia del archivo values.yaml, pasa el nombre del secreto como referencia.

    githubConfigSecret: pre-defined-secret
    

    Para ver más opciones de configuración de Helm, consulta values.yaml en el repositorio de ARC.

Algunas partes se han adaptado a partir de https://github.com/actions/actions-runner-controller/ con licencia 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.