Ejemplo de GitHub Enterprise Server 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.

Ejemplo de GitHub Enterprise Server para CodeBuild

AWS CodeBuild admite GitHub Enterprise Server como repositorio de código fuente. Este ejemplo muestra cómo configurar proyectos de CodeBuild cuando el repositorio del servidor de GitHub Enterprise tiene instalado un certificado. También muestra cómo habilitar webhooks para que CodeBuild vuelva a compilar el código fuente cada vez que se envíe un cambio de código al repositorio de GitHub Enterprise Server.

Prerequisites

  1. Genere un token de acceso personal para su proyecto CodeBuild. Le recomendamos que cree un usuario de GitHub Enterprise y que genere un token de acceso personal para dicho usuario. Cópielo en el portapapeles para que pueda utilizarlo al crear un proyecto de CodeBuild. Para obtener más información, consulte Creating a personal access token for the command line en el sitio web GitHub Help.

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

  2. Descargue el certificado desde GitHub Enterprise Server. CodeBuild utiliza 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 del 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:

    Use el navegador para descargar el certificado desde 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 cubo debe estar en el mismoAWSregión como compilaciones. Por ejemplo, si indica a CodeBuild que ejecute una compilación en la región EE.UU. Este (Ohio), el bucket debe estar en la región EE.UU. Este (Ohio).

Crear un proyecto de compilación con GitHub Enterprise Server como repositorio de código fuente y habilitar los webhooks (consola)

  1. Abra el iconoAWS CodeBuildConsola dehttps://console.aws.amazon.com/codesuite/codebuild/home.

  2. Si aparece una página con información de CodeBuild, seleccioneCrear un proyecto de compilación. En caso contrario, en el panel de navegación expandaConstruir, eligeProyectos de compilacióny luego seleccioneCrear un proyecto de compilació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 puede 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 (Código fuente), en Source provider (Proveedor de código fuente), elija GitHub Enterprise.

    • En Personal Access Token, pegue el token que ha copiado en el portapapeles y elija Save Token. En Repository URL, 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 Enable insecure SSL (Habilitar SSL no seguro) para omitir las advertencias de SSL cuando se conecte 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). ParaTipo de entorno, eligeBRAZO,Linux,GPU Linux, o bienWindows. 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 eligeAmazon ECR, useRepositorio de Amazon ECRyImagen de Amazon ECRpara elegir la imagen de Docker en suAWSaccount.

    • Para usar una imagen privada de Docker, elijaImagen personalizada. ParaTipo de entorno, eligeBRAZO,Linux,GPU Linux, o bienWindows. 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 de servicio CodeBuild, elijaNuevo rol de servicio. Escriba un nombre para el nuevo rol en el campo Role Name.

    • Si dispone de un rol de servicio CodeBuild, elijaRol de servicio existente. EnARN de rol, seleccione el rol de servicio.

    nota

    Cuando utiliza la consola para crear o actualizar un proyecto de compilación, puede crear un rol de servicio de CodeBuild 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 desea que CodeBuild funcione con su VPC:

    • ParaVPC:, elija el ID de VPC que utiliza CodeBuild.

    • ParaSubredes de la VPC, elija las subredes de que incluyen recursos utilizados por CodeBuild.

    • ParaGrupos de seguridad de la VPC, elija los grupos de seguridad que utiliza CodeBuild para permitir el acceso a los recursos de las VPC.

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

  8. EnBuildSpec, realice una de las siguientes operaciones:

    • ElegirUso de un archivo buildspecpara utilizar el archivo buildspec.yml del directorio raíz del código fuente.

    • ElegirInsertar comandos de compilaciónpara utilizar la consola para insertar comandos de compilación.

    Para obtener más información, consulte la 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 la salida de la compilación en un bucket de S3, seleccioneAmazon S3y luego realice una de las siguientes opciones:

      • 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 caché de Amazon S3, elijaAmazon S3y luego realice una de las siguientes opciones:

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

      • (Opcional) ParaPrefijo 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. LaARM_CONTAINERyLINUX_GPU_CONTAINERtipos de entorno yBUILD_GENERAL1_2XLARGEel tipo de cómputo no admite el uso de una caché local.

    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. Las necesitará al añadir un webhook en GitHub Enterprise Server.

    Si necesita generar de nuevo una URL de carga y una clave secreta, primero debe eliminar el webhook del repositorio de GitHub Enterprise Server. En tu proyecto de CodeBuild, borra laWebhookcasilla de verificación y, a continuación, seleccioneGuardar. A continuación, puede crear o actualizar un proyecto de CodeBuild con laWebhookcasilla de verificación seleccionada. El cuadro de diálogo Create webhook aparecerá de nuevo.

  13. En GitHub Enterprise Server, elija el repositorio en el que está almacenado su proyecto de CodeBuild.

  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. Vuelva al proyecto de CodeBuild. Cierre el cuadro de diálogo Create webhook y elija Start build.