Puede usar la aplicación de GitHub para conectarse con CodeBuild. Se admiten las conexiones de aplicación de GitHub mediante AWS CodeConnections.
El acceso al proveedor de origen permite desencadenar una compilación al suscribirse a Eventos de webhooks de GitHub mediante CreateWebhook o usar el Tutorial: Configuración de un ejecutor de GitHub Actions alojado en CodeBuild en CodeBuild.
nota
CodeConnections está disponible en menos regiones que CodeBuild. En CodeBuild puede utilizar conexiones entre regiones. Las conexiones creadas en regiones de suscripción no se pueden usar en otras regiones. Para obtener más información, consulte Puntos de conexión y cuotas de AWS CodeConnections.
Temas
Paso 1: Crear una conexión con la aplicación de GitHub (consola)
Siga estos pasos a fin de usar la consola de CodeBuild para agregar una conexión a su proyecto en GitHub.
Para crear una conexión a GitHub
-
Siga las instrucciones de la Guía del usuario de Herramientas para desarrolladores para la Creación de una conexión a GitHub.
Paso 2: Conceder acceso al rol de IAM del proyecto de CodeBuild para usar la conexión
Puede conceder acceso al rol de IAM del proyecto de CodeBuild para usar los tokens de GitHub distribuidos por su conexión.
Para conceder acceso al rol de IAM del proyecto de CodeBuild
-
Siga las instrucciones de Cómo permitir que CodeBuild interactúe con otros servicios de AWS para su proyecto de CodeBuild a fin de crear un rol de IAM para CodeBuild.
-
Mientras sigue las instrucciones, agregue la siguiente política de IAM a su rol de proyecto de CodeBuild para conceder acceso a la conexión.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codeconnections:GetConnectionToken", "codeconnections:GetConnection" ], "Resource": [
<connection-arn>
] } ] }
Paso 3: Configurar CodeBuild para usar la nueva conexión
Puede configurar una conexión como credencial de nivel de cuenta y usarla en un proyecto.
Para configurar una conexión como credencial de nivel de cuenta en la AWS Management Console
-
En Source provider (Proveedor de código fuente), elija GitHub.
-
En Credencial, realice una de las siguientes acciones:
-
Elija Credencial de origen predeterminada para aplicar la credencial de origen predeterminada de su cuenta a todos los proyectos.
-
Si no está conectado a GitHub, elija Administrar la credencial de origen predeterminada.
-
En Tipo de credencial, elija Aplicación GitHub.
-
En Conexión, elija usar una conexión existente o cree una nueva.
-
-
Elija Credencial de origen personalizada a fin de usar una credencial de este tipo para anular la configuración predeterminada de su cuenta.
-
En Tipo de credencial, elija Aplicación GitHub.
-
En Conexión, elija usar una conexión existente o cree una nueva.
-
-
También puede configurar varios tokens para los proyectos de CodeBuild. Para obtener más información, consulte Configuración de varios tokens como credenciales de nivel de origen.
Solución de problemas con la aplicación de GitHub
La siguiente información puede ayudarle a solucionar problemas habituales con la aplicación de GitHub.
Temas
Instalación del Conector de AWS para una aplicación de GitHub en una región no deseada
Problema: Ha instalado el Conector de AWS para GitHub desde GitHub Marketplace, pero la conexión se ha creado en una región no deseada. Si intenta volver a configurar la aplicación en el sitio web de GitHub, esta no funcionará porque ya está instalada en su cuenta de GitHub.
Causa posible: La aplicación ya está instalada en su cuenta de GitHub, por lo que solo puede reconfigurar los permisos de la aplicación.
Solución recomendada: Puede crear una conexión con el ID de instalación en la región deseada.
-
Abra la consola de CodeConnections en https://console.aws.amazon.com/codesuite/settings/connections
y desplácese hasta la región deseada con el selector de regiones de la barra de navegación de la consola de AWS. -
Siga las instrucciones de la Guía del usuario de Herramientas para desarrolladores para la Creación de una conexión a GitHub.
nota
Como ya ha instalado el Conector de AWS para la aplicación de GitHub, puede elegirla en lugar de instalar una nueva aplicación.
La conexión de la aplicación de GitHub no tiene acceso a los repositorios
Problema: Un servicio de AWS que utiliza la conexión, como CodeBuild o CodePipeline, informa de que no tiene acceso al repositorio o que el repositorio no existe. Estos son algunos de los posibles mensajes de error:
-
Authentication required for primary source.
-
Unable to create webhook at this time. Please try again later.
-
Failed to create webhook. GitHub API limit reached. Please try again later.
- Causa posible: Puede que haya estado usando la aplicación de GitHub y no haya concedido el ámbito de permiso del webhook.
-
Solución recomendada: Para conceder el ámbito de permiso requerido, siga las instrucciones para navegar a la aplicación de GitHub que desee revisar o modificar
a fin de configurar la aplicación instalada. En la sección de permisos, verá que la aplicación no tiene permisos de webhook y que hay una opción para revisar los permisos recién solicitados. Revise y acepte los nuevos permisos. Para obtener más información, consulte Aprobación de permisos actualizados para una aplicación de GitHub . - Causa posible: La conexión funcionaba según lo esperado, pero de repente no tiene acceso a los repositorios.
-
Posible solución: Empiece por revisar sus autorizaciones
e instalaciones y, a continuación, compruebe que la aplicación de GitHub esté autorizada e instalada. Si la instalación de la aplicación de GitHub está suspendida, debe anular la suspensión. Si la aplicación de GitHub no está autorizada para realizar una conexión de token de acceso de usuario (UAT) o no está instalada para una conexión de token de acceso a la instalación (IAT) , la conexión existente ya no se podrá utilizar y tendrá que crear una nueva. Tenga en cuenta que volver a instalar la aplicación de GitHub no reactivará la conexión anterior que estaba asociada a la instalación previa. Solución posible: Si la conexión es de token de acceso de usuario, asegúrese de que no se utilice de forma simultánea, por ejemplo, en varias ejecuciones de compilación simultáneas de CodeBuild. Esto se debe a que GitHub invalida de forma inmediata cualquier token de acceso de usuario emitido anteriormente si la conexión actualiza un token a punto de vencer. Si necesita usar una conexión de token de acceso de usuario para varias compilaciones simultáneas de CodeBuild, puede crear varias conexiones y usar cada una de ellas de forma independiente.
Posible solución: Si la conexión de token de acceso de usuario no se ha utilizado en los últimos seis meses, GitHub la invalidará. Para solucionarlo, cree una conexión nueva.
- Causa posible: Puede que haya estado usando una conexión de token de acceso de usuario sin instalar la aplicación.
-
Solución recomendada: Aunque la creación de una conexión de token de acceso de usuario no requiere asociar la conexión a una instalación de aplicación de GitHub, se requiere una instalación para que el repositorio sea accesible. Siga las instrucciones para revisar las instalaciones
a fin de asegurarse de que la aplicación de GitHub esté instalada. Si no está instalada, vaya a la página de la aplicación de GitHub para instalarla. Para obtener más información sobre el acceso de los tokens del tipo mencionado, consulte Acerca de los tokens de acceso de usuario .
El rol de IAM del servicio de AWS carece de algunos permisos de IAM necesarios.
Problema: Aparece alguno de los siguientes mensajes de error:
-
Access denied to connection
<connection-arn>
-
Failed to get access token from
<connection-arn>
Solución recomendada: Normalmente se usa una conexión con un servicio de AWS, como CodePipeline o CodeBuild. Al asignar un rol de IAM al servicio de AWS, dicho servicio puede usar el permiso del rol para actuar en su nombre. Asegúrese de que el rol de IAM tiene los permisos necesarios. Para obtener más información sobre el permiso de IAM necesario, consulte Conceder acceso al rol de IAM del proyecto de CodeBuild para usar la conexión e Identity and Access Management para las notificaciones de AWS CodeStar y CodeConnections en la Guía del usuario de la consola de Herramientas para desarrolladores.