GitHub Ejemplo de servidor empresarial para 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 Ejemplo de servidor empresarial para CodeBuild

AWS CodeBuildadmite GitHub Enterprise Server como repositorio de origen. En este ejemplo, se muestra cómo configurar CodeBuild los proyectos cuando el repositorio de GitHub Enterprise Server tiene un certificado instalado. También muestra cómo habilitar los webhooks para CodeBuild volver a compilar el código fuente cada vez que un cambio de código se introduce en el repositorio de GitHub Enterprise Server.

Requisitos previos

  1. Genera un token de acceso personal para tu CodeBuild proyecto. Le recomendamos que cree un usuario GitHub empresarial y genere un token de acceso personal para este usuario. Cópialo en el portapapeles para que puedas usarlo cuando crees tu CodeBuild proyecto. Para obtener más información, consulte Crear un token de acceso personal para la línea de comandos en el sitio web de GitHub ayuda.

    Cuando cree el token de acceso personal, incluya el ámbito del repositorio en la definición.

  2. Descargue su certificado de GitHub Enterprise Server. CodeBuild usa el certificado para establecer una conexión SSL de confianza con el repositorio.

    Clientes Linux/macOS:

    En una ventana de terminal de , ejecute el siguiente comando:

    echo -n | openssl s_client -connect HOST:PORTNUMBER \ | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /folder/filename.pem

    Sustituya los marcadores de posición del comando por los siguientes valores:

    HOST. La dirección IP de su repositorio de GitHub Enterprise Server.

    PORTNUMBER. El número de puerto que se utiliza para conectarse (por ejemplo, 443).

    folder. La carpeta en la que se ha descargado el certificado.

    nombre de archivo. El nombre de archivo del archivo de certificado.

    importante

    Guarde el certificado como un archivo .pem.

    Clientes de Windows:

    Utilice el navegador para descargar el certificado de GitHub Enterprise Server. Para ver los detalles del certificado del sitio, seleccione el icono del candado. Para obtener información sobre cómo exportar el certificado, consulte la documentación del navegador.

    importante

    Guarde el certificado como un archivo .pem.

  3. Cargue el archivo de certificado en un bucket de S3. Para obtener información acerca de cómo crear un bucket de S3, consulte ¿Cómo puedo crear un bucket de S3? Para obtener información acerca de cómo cargar objetos en un bucket de S3, consulte ¿Cómo puedo cargar archivos y carpetas en un bucket?

    nota

    Este bucket debe estar en la mismaAWS región de que tus compilaciones. Por ejemplo, si indica CodeBuild que se ejecute una compilación en la región EE. (Ohio), el bucket debe estar en la región EE.

Cree un proyecto de compilación con GitHub Enterprise Server como repositorio de origen y habilite los webhooks (consola)

  1. Abra laAWS CodeBuild consola en https://console.aws.amazon.com/codesuite/codebuild/home.

  2. Si aparece una página de CodeBuild información, seleccione Crear proyecto de construcción. De lo contrario, en el panel de navegación, expanda Crear, elija Crear proyectos y, a continuación, elija Crear proyecto de creación.

  3. En Project name (Nombre de proyecto), escriba un nombre para este proyecto de compilación. Los nombres de los proyectos de compilación debe ser únicos en cada cuenta de AWS. También puedes incluir una descripción opcional del proyecto de compilación para ayudar a otros usuarios a entender para qué se utiliza este proyecto.

  4. En Source, en Source Provider, seleccione GitHub Enterprise.

    • En Personal Access Token, pegue el token que ha copiado en el portapapeles y elija Save Token. En URL del repositorio, introduzca la URL del repositorio de GitHub Enterprise Server.

      nota

      Solo tiene que introducir y guardar el token de acceso personal una vez. Todos los proyectos futuros de AWS CodeBuild utilizarán este token.

    • En Repository URL (URL del repositorio), escriba la ruta al repositorio, incluido el nombre del repositorio.

    • Expanda Additional configuration (Configuración adicional).

    • Seleccione Rebuild every time a code change is pushed to this repository (Volver a compilar cada vez que un cambio de código se inserte en el repositorio) para recompilar cada vez que se inserte un cambio de código en este repositorio.

    • Seleccione Habilitar SSL inseguro para ignorar las advertencias de SSL mientras se conecta al repositorio del proyecto de GitHub Enterprise Server.

      nota

      Le recomendamos que solamente utilice Enable insecure SSL (Habilitar SSL no seguro) para realizar pruebas. No debe utilizarse en un entorno de producción.

  5. En Environment (Entorno):

    En Environment image (Imagen del entorno), realice alguna de las siguientes operaciones:

    • Para usar una imagen de Docker administrada por AWS CodeBuild, elija Managed image (Imagen administrada) y después elija una opción en Operating system (Sistema operativo), Runtime (Tiempo de ejecución), Image (Imagen) e Image version (Versión de imagen). Realice una selección en Environment type (Tipo de entorno) si está disponible.

    • Para usar otra imagen de Docker, elija Custom image (Imagen personalizada). Para el tipo de entorno, elija ARM, Linux, GPU Linux o Windows. Si elige Other registry (Otro registro), para External registry URL (URL de registro externo), introduzca el nombre y etiqueta de la imagen de Docker en Docker Hub, usando el formato docker repository/docker image name. Si elige Amazon ECR, utilice el repositorio de Amazon ECR y la imagen de Amazon ECR para elegir la imagen de Docker en suAWS cuenta.

    • Para usar una imagen privada de Docker, selecciona Imagen personalizada. Para el tipo de entorno, elija ARM, Linux, GPU Linux o Windows. En Image registry (Registro de imagen), elija Other registry (Otro registro) y, a continuación, introduzca el ARN de las credenciales para su imagen de Docker privada. Secrets Manager debe crear las credenciales. Para obtener más información, consulte ¿Qué es AWS Secrets Manager? en la Guía del usuario de AWS Secrets Manager.

  6. En Service role (Rol de servicio), realice una de las operaciones siguientes:

    • Si no tiene un rol CodeBuild de servicio, elija Nuevo rol de servicio. Escriba un nombre para el nuevo rol en el campo Role Name.

    • Si tiene un rol CodeBuild de servicio, elija Función de servicio existente. En Role ARN, elija el rol de servicio.

    nota

    Cuando utiliza la consola de para crear o actualizar un proyecto de compilación, puede crear un rol de CodeBuild servicio al mismo tiempo. De forma predeterminada, el rol funciona solamente con ese proyecto de compilación. Si utiliza la consola para asociar este rol de servicio a otro proyecto de compilación, el rol se actualizará para que funcione con el otro proyecto de compilación. Un rol de servicio puede funcionar con hasta diez proyectos de compilación.

  7. Expanda Additional configuration (Configuración adicional).

    Si quieres CodeBuild trabajar con tu VPC:

    • Para VPC, elige el ID de VPC que CodeBuild utiliza.

    • Para las subredes de VPC, elija las subredes que incluyen los recursos que CodeBuild utiliza.

    • Para los grupos de seguridad de VPC, elija los grupos de seguridad que se CodeBuild utilizan para permitir el acceso a los recursos de las VPC.

    Para obtener más información, consulte UsarAWS CodeBuildcon Amazon Virtual Private Cloud.

  8. En Buildspec, lleve a cabo una de las siguientes operaciones:

    • Elija Usar un archivo buildspec para usar el archivo buildspec.yml en el directorio raíz del código fuente.

    • Elija Insertar comandos de compilación para usar la consola para insertar comandos de compilación.

    Para obtener más información, consulte Referencia de la especificación de compilación.

  9. En Artifacts (Artefactos), en Type (Tipo), realice una de las siguientes operaciones:

    • Si no desea crear ningún artefacto de salida de la compilación, elija No artifacts (Sin artefactos).

    • Para almacenar el resultado de la compilación en un bucket de S3, elija Amazon S3 y, a continuación, haga lo siguiente:

      • Si desea utilizar su nombre de proyecto para el archivo ZIP o carpeta de salida de la compilación, deje en blanco Name (Nombre). De lo contrario, escriba el nombre. De forma predeterminada, el nombre del artefacto es el nombre del proyecto. Si desea usar otro nombre, escríbalo en el cuadro de nombre de artefactos. Si desea producir un archivo ZIP, incluya la extensión zip.

      • En Bucket name (Nombre del bucket), seleccione el nombre del bucket de salida.

      • Si eligió Insert build commands (Insertar comandos de compilación) anteriormente en este procedimiento, en Output files (Archivos de salida), escriba las ubicaciones de los archivos de la compilación que desea incluir en el archivo ZIP o carpeta de salida de la compilación. Si hay varias ubicaciones, separe cada una de las ubicaciones con una coma (por ejemplo, appspec.yml, target/my-app.jar). Para obtener más información, consulte la descripción de files en Sintaxis de buildspec.

  10. En Cache type (Tipo de caché), seleccione una de las opciones siguientes:

    • Si no desea usar una memoria caché, elija No cache.

    • Si desea utilizar una memoria caché de Amazon S3, elija Amazon S3 y, a continuación, haga lo siguiente:

      • En Bucket, elija el nombre del bucket de S3 donde se almacena la caché.

      • (Opcional) Para el prefijo de ruta de caché, introduzca un prefijo de ruta de Amazon S3. El valor Cache path prefix (Prefijo de ruta de caché) es similar a un nombre de directorio. Le permite almacenar la caché en el mismo directorio en un bucket.

        importante

        No añada una barra (/) al final del prefijo de ruta.

    • Si desea utilizar una caché local, seleccione Local y elija uno o varios modos de caché local.

      nota

      El modo Docker layer cache (Caché de capas de Docker) solo está disponible para Linux. Si lo selecciona, el proyecto deberá ejecutarse en modo con privilegios.

    El uso de memoria caché ahorra mucho tiempo de compilación, ya que algunas partes reutilizables del entorno de compilación se almacenan en ella y se usan en las distintas compilaciones. Para obtener información acerca de cómo especificar una caché en el archivo de especificación de compilación, consulte Sintaxis de buildspec. Para obtener más información acerca del almacenamiento en caché, consulte Almacenamiento en caché de compilaciones de AWS CodeBuild.

  11. Elija Create build project (Crear proyecto de compilación). En la página del proyecto de compilación, elija Start build (Iniciar compilación).

  12. Si ha habilitado los webhooks en Source (Código fuente), aparecerá el cuadro de diálogo Create webhook (Crear webhook) con los valores para Payload URL (URL de carga) y Secret (Secreto).

    importante

    El cuadro de diálogo Create webhook solo aparecerá una vez. Copie la URL de carga y la clave secreta. Los necesita cuando agrega un webhook en GitHub Enterprise Server.

    Si necesita volver a generar una URL de carga y una clave secreta, primero debe eliminar el webhook del repositorio de GitHub Enterprise Server. En el proyecto de CodeBuild , desactive la casilla Webhook y elija Save (Guardar). A continuación, puede crear o actualizar un proyecto de CodeBuild con la casilla Webhook seleccionada. El cuadro de diálogo Create webhook aparecerá de nuevo.

  13. En GitHub Enterprise Server, elija el repositorio en el que se almacena el CodeBuild proyecto.

  14. Elija Settings (Configuración), elija Hooks & services (Enlaces y servicios) y, a continuación, elija Add webhook (Añadir webhook).

  15. Introduzca la URL de carga y la clave secreta, acepte los valores predeterminados para el resto de los campos y elija Add webhook.

  16. Regresa a tu CodeBuild proyecto. Cierre el cuadro de diálogo Create webhook y elija Start build.