GitHub y un token de acceso a GitHub Enterprise Server - AWS CodeBuild

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

GitHub y un token de acceso a GitHub Enterprise Server

Requisitos previos de los tokens de acceso

Antes de empezar, debe añadir los ámbitos de permiso adecuados a su token de GitHub acceso.

Pues GitHub, su token de acceso personal debe tener los siguientes ámbitos.

  • repo: Concede a control total de repositorios privados.

  • repo:status: otorga acceso de lectura y escritura a los estados de confirmación de los repositorios públicos y privados.

  • admin:repo_hook: Concede control total de enlaces de repositorio. Este ámbito no es necesario si su token tiene el ámbito repo.

  • admin:org_hook: Otorga el control total de los enlaces de la organización. Este ámbito solo es obligatorio si utilizas la función de webhook de la organización.

Para obtener más información, consulte Comprender los ámbitos de OAuth las aplicaciones en el GitHub sitio web.

Si utilizas tokens de acceso personal específicos, según tu caso de uso, es posible que tu token de acceso personal necesite los siguientes permisos:

  • Contenido: de solo lectura: otorga acceso a repositorios privados. Este permiso es obligatorio si utilizas repositorios privados como fuente.

  • Estados de confirmación: lectura y escritura: otorga permiso para crear estados de confirmación. Este permiso es obligatorio si tu proyecto tiene un webhook configurado o si tienes habilitada la función de estado de creación de informes.

  • Webhooks: lectura y escritura: otorga permiso para gestionar los webhooks. Este permiso es obligatorio si tu proyecto tiene un webhook configurado.

  • Solicitudes de extracción: de solo lectura: otorga permiso para acceder a las solicitudes de extracción. Este permiso es obligatorio si tu webhook tiene un FILE_PATH filtro para los eventos de solicitudes de atracción.

  • Administración: lectura y escritura: este permiso es necesario si utilizas la función GitHub Actions Runner autohospedada con. CodeBuild Para obtener más información, consulta Crear un token de registro para un repositorio yTutorial: Configurar un CodeBuild ejecutor de GitHub acciones alojado.

nota

Si quieres acceder a los repositorios de la organización, asegúrate de especificar la organización como propietaria del recurso del token de acceso.

Para obtener más información, consulta el artículo sobre los permisos necesarios para los tokens de acceso personal detallados en el sitio web. GitHub

Conéctese GitHub con un token de acceso (consola)

Para usar la consola para conectar tu proyecto GitHub mediante un token de acceso, haz lo siguiente al crear un proyecto. Para obtener más información, consulte Creación de un proyecto de compilación (consola).

  1. En Proveedor de fuentes, selecciona GitHub.

  2. Para Credential, realice una de las siguientes acciones:

    • Elija la credencial de origen predeterminada para usar la credencial de origen predeterminada de su cuenta y aplicarla a todos los proyectos.

      1. Si no estás conectado a GitHub, selecciona Administrar la credencial de origen predeterminada.

      2. En Tipo de credencial, selecciona Token de acceso personal.

      3. Si seleccionaste la credencial de origen predeterminada, en Servicio, elige el servicio que deseas usar para almacenar tu token y haz lo siguiente:

        • Si eliges usar Secrets Manager, puedes elegir usar una conexión secreta existente o crear un secreto nuevo y seleccionar Guardar. Para obtener más información sobre cómo crear un secreto nuevo, consulteCrea y almacena un token en un secreto de Secrets Manager.

        • Si decides usarlo CodeBuild, introduce tu token de acceso GitHub personal y selecciona Guardar.

    • Elige Credencial de origen personalizada para usar una credencial de origen personalizada para anular la configuración predeterminada de tu cuenta.

      1. En Tipo de credencial, selecciona Token de acceso personal.

      2. En Connection, elige usar una conexión secreta existente o crear una nueva.

Conéctese GitHub con un token de acceso (CLI)

Sigue estos pasos para usar el y AWS CLI conectar tu proyecto GitHub con un token de acceso. Para obtener información sobre el uso del AWS CLI with AWS CodeBuild, consulta laReferencia de la línea de comandos.

  1. Ejecute el comando import-source-credentials:

    aws codebuild import-source-credentials --generate-cli-skeleton

    JSONLos datos con formato -aparecen en la salida. Copie los datos a un archivo (por ejemploimport-source-credentials.json) en una ubicación del equipo o instancia local en la que AWS CLI esté instalado. Modifique los datos copiados como se indica a continuación y guarde los resultados.

    { "serverType": "server-type", "authType": "auth-type", "shouldOverwrite": "should-overwrite", "token": "token", "username": "username" }

    Sustituya lo siguiente:

    • server-type: valor obligatorio. El proveedor de código fuente utilizado para esta credencial. Los valores válidos son GITHUB BITBUCKET ENTERPRISEGITLAB, GITHUB _ y GITLAB _ SELF _MANAGED.

    • auth-type: Valor obligatorio. El tipo de autenticación utilizado para conectarse a un repositorio. Los valores válidos son BASIC PERSONAL _ OAUTH AUTH TOKENCODECONNECTIONS, ACCESS _ _ y SECRETS _MANAGER. Para GitHub, solo TOKEN se permite PERSONAL ACCESS _ _. BASIC_ solo AUTH se permite con la contraseña de la aplicación Bitbucket.

    • should-overwrite: valor opcional. Establézcalo en false para impedir que se sobrescriban las credenciales de origen del repositorio. Establézcalo en true para sobrescribir las credenciales de origen del repositorio. El valor predeterminado es true.

    • token: Valor obligatorio. En el GitHub caso de GitHub Enterprise Server, este es el token de acceso personal. En el caso de Bitbucket, se trata del token de acceso personal o la contraseña de la aplicación. Para el tipo de autenticaciónCODECONNECTIONS, esta es la conexión. ARN Para el tipo de autenticación SECRETS _MANAGER, este es el secreto. ARN

    • username: valor opcional. Este parámetro se omite para GitHub los proveedores de origen de GitHub Enterprise Server.

  2. Para conectar su cuenta con un token de acceso, cambie al directorio que contiene el archivo import-source-credentials.json que guardó en el paso 1 y vuelva a ejecutar el comando import-source-credentials.

    aws codebuild import-source-credentials --cli-input-json file://import-source-credentials.json

    JSONLos datos con formato -aparecen en la salida con un nombre de recurso de Amazon ()ARN.

    { "arn": "arn:aws:codebuild:region:account-id:token/server-type" }
    nota

    Si ejecuta el comando import-source-credentials con el mismo tipo de servidor y tipo de autorización una segunda vez, se actualiza el token de acceso almacenado.

    Una vez que tu cuenta esté conectada con un token de acceso, podrás usarlo create-project para crear tu CodeBuild proyecto. Para obtener más información, consulte Crear un proyecto de compilación (AWS CLI).

  3. Para ver los tokens de acceso conectados, ejecute el comando list-source-credentials.

    aws codebuild list-source-credentials

    En la JSON salida aparece un sourceCredentialsInfos objeto con formato:

    { "sourceCredentialsInfos": [ { "authType": "auth-type", "serverType": "server-type", "arn": "arn" } ] }

    El sourceCredentialsObject contiene una lista de información de credenciales de código fuente conectado:

    • El authType es el tipo de autenticación que utilizan las credenciales. Puede serOAUTH,, BASIC_AUTH PERSONAL_ACCESS_TOKENCODECONNECTIONS, o. SECRETS_MANAGER

    • El serverType es el tipo de proveedor de código fuente. Puede serGITHUB,GITHUB_ENTERPRISE, BITBUCKETGITLAB, oGITLAB_SELF_MANAGED.

    • El arn es el ARN de la ficha.

  4. Para desconectarse de un proveedor de fuentes y eliminar sus tokens de acceso, ejecute el delete-source-credentials comando con susARN.

    aws codebuild delete-source-credentials --arn arn-of-your-credentials

    JSONLos datos con formato «-» se devuelven con una ARN de las credenciales eliminadas.

    { "arn": "arn:aws:codebuild:region:account-id:token/server-type" }