GitHub y acceso a GitHub Enterprise Server en CodeBuild - 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 acceso a GitHub Enterprise Server en CodeBuild

Para GitHub ello, puedes usar un token de acceso personal, una OAuth aplicación, un secreto de Secrets Manager o una conexión de GitHub aplicación para acceder al proveedor de origen. Para GitHub Enterprise Server, puedes usar un token de acceso personal, un secreto de Secrets Manager o una conexión de GitHub aplicación para acceder al proveedor de origen.

GitHub Conexiones de aplicaciones para GitHub un servidor GitHub empresarial

Puede usar GitHub la aplicación para conectarse con CodeBuild. GitHub Las conexiones de aplicaciones son compatibles a través de AWS CodeConnections.

El acceso del proveedor de origen te permite activar una compilación suscribiéndote al GitHub eventos de webhook uso CreateWebhooko al uso Usa ejecutores de GitHub Actions autohospedados en AWS CodeBuild en CodeBuild.

nota

CodeConnections está disponible en menos regiones que. CodeBuild Puede utilizar conexiones entre regiones en CodeBuild. Las conexiones creadas en regiones de suscripción voluntaria no se pueden utilizar en otras regiones. Para obtener más información, consulte Puntos de conexión y cuotas de AWS CodeConnections.

Paso 1: Crear una conexión a la GitHub aplicación (consola)

Sigue estos pasos para usar la CodeBuild consola y añadir una conexión a tu proyecto GitHub.

Para crear una conexión a GitHub

Paso 2: Otorgue acceso al IAM rol del CodeBuild proyecto para usar la conexión

Puedes conceder acceso a IAM un rol de CodeBuild proyecto para usar los GitHub tokens que vende tu conexión.

Para conceder acceso a CodeBuild un IAM rol de proyecto
  1. Cree un IAM rol para su CodeBuild proyecto siguiendo las instrucciones CodeBuild Permiten interactuar con otros AWS servicios para su CodeBuild proyecto.

  2. Mientras sigues las instrucciones, añade la siguiente IAM política a tu rol en el CodeBuild proyecto para conceder acceso a la conexión.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codeconnections:GetConnectionToken", "codeconnections:GetConnection" ], "Resource": [ <connection-arn> ] } ] }

Paso 3: CodeBuild Configúralo para usar la nueva conexión

Puede configurar una conexión como una credencial a nivel de cuenta y utilizarla en un proyecto.

AWS Management Console
Para configurar una conexión como una credencial a nivel de cuenta en AWS Management Console
  1. En Proveedor de origen, elija 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 GitHub Aplicación.

      3. En Conexión, elija usar una conexión existente o crear una conexión nueva.

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

      1. En Tipo de credencial, selecciona Aplicación. GitHub

      2. En Conexión, elija usar una conexión existente o crear una conexión nueva.

AWS CLI
Para configurar una conexión como una credencial a nivel de cuenta en el AWS CLI
  • Abra un terminal (Linux, macOS o Unix) o un símbolo del sistema (Windows). Utilice el AWS CLI para ejecutar el import-source-credentials comando, especificando el --auth-type--server-type, y --token para la conexión.

    Utilice el siguiente comando:

    aws codebuild import-source-credentials --auth-type CODECONNECTIONS --server-type GITHUB --token <connection-arn>

También puedes configurar varios tokens para tus CodeBuild proyectos. Para obtener más información, consulte Configura varios tokens como credenciales a nivel de fuente.

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 yUsa ejecutores de GitHub Actions autohospedados en AWS CodeBuild.

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 código fuente, 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 seleccionó la credencial de origen predeterminada, en Servicio, elija el servicio que desea usar para almacenar su token y haga 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 que se utiliza 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" }

GitHub OAuthaplicación

Conectarse GitHub mediante OAuth (consola)

Para usar la consola para conectar el proyecto a GitHub una OAuth aplicación, haga 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 código fuente, 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, elige. OAuth

      3. Si seleccionó la credencial de origen predeterminada, en Servicio, elija el servicio que desea usar para almacenar el token y haga 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 decide usarlo CodeBuild, continúe seleccionando Conectar a GitHub.

    • 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. OAuth

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

Para revisar sus OAuth aplicaciones autorizadas, vaya a Aplicaciones en y compruebe que GitHub aparezca en la lista una aplicación cuyo nombre sea AWS CodeBuild (region) propiedad de aws-codesuite.