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

AWS CodeBuildes compatible con GitHub Enterprise Server como repositorio de código fuente. En este ejemplo se muestra cómo configurar su CodeBuild proyectos cuando tu GitHub El repositorio de Enterprise Server tiene un certificado instalado. También muestra cómo habilitar webhooks para CodeBuild reconstruye el código fuente cada vez que se envía un cambio de código a su CLI de GitHub Repositorio de

Requisitos previos

  1. Genere un token de acceso personal para CodeBuild proyecto de. Le recomendamos que cree un GitHub Usuario empresarial y generar un token de acceso personal para dicho usuario. Cópielo en el portapapeles para que pueda utilizarlo al crear un CodeBuild proyecto de. Para obtener más información, consulteCreación de un token de acceso personal para la línea de comandosen la GitHub Sitio web de ayuda.

    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 de su GitHub Repositorio de

    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 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 bucket debe estar en el mismoAWSregión a medida que tus compilaciones. Por ejemplo, si instruyes CodeBuild para ejecutar una compilación en la región EE.UU. Este (Ohio), el bucket debe estar en la región EE.UU. Este (Ohio).

Creación de un proyecto de compilación con GitHubEnterprise Server como repositorio de código fuente y habilitación de webhooks (consola)

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

  2. Si una CodeBuild se muestra la página de información, elijaCrear un proyecto de compilación. De lo contrario, en el panel de navegación expandaConstruir, eligeProyectos de compilacióny luego en.Crear 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 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. EnFuente, enProveedor de origen, eligeGitHub Empresa.

    • En Personal Access Token, pegue el token que ha copiado en el portapapeles y elija Save Token. EnRepository URL, especifique la URL del GitHub Repositorio de

      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.

    • SelectHabilitar SSL no seguroomitir las advertencias de SSL cuando se conecte al GitHub Repositorio de proyectos 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. Las debe crear el Administrador de secretos las debe crear Secrets Manager. 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 dispone de una CodeBuild función de servicio, elijaNueva función de servicio. Escriba un nombre para el nuevo rol en el campo Role Name.

    • Si tiene un CodeBuild función de servicio, 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 CodeBuild rol de 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 quiere CodeBuild para que funcione con su VPC:

    • ParaVPC:, seleccione el ID de VPC que CodeBuild UsarUse.

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

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

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

  8. EnBuildSpec, realice una de las siguientes acciones:

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

    • ElegirInsertar comandos de compilaciónpara usar 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, 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 caché de Amazon S3, elijaAmazon S3y, a continuación, haga lo siguiente:

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

      • (Opcional) ParaPrefijo de la ruta, 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. Las necesitará al añadir un webhook GitHub Enterprise Server

    Si necesita generar de nuevo una URL de carga y una clave secreta, primero debe eliminar el webhook del GitHub Repositorio de 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 está CodeBuild se almacena el 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. Vuelva al CodeBuild proyecto de. Cierre el cuadro de diálogo Create webhook y elija Start build.