Creación de un proyecto de compilación (consola) - 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.

Creación de un proyecto de compilación (consola)

AbraAWS CodeBuildConsola de enhttps://console.aws.amazon.com/codesuite/codebuild/home.

Si un CodeBuild aparece la página de información, elijaCrear proyecto de compilación.. De lo contrario, en el panel de navegación, expandaConstruir, eligeConstruir proyectosy, a continuación, elijaCrear proyecto de compilación..

Elija Create build project (Crear proyecto de compilación).

Rellene las siguientes secciones. Una vez completado, eligeCrear proyecto de compilación.en la parte inferior de la página.

Configuración del proyecto

Project name (Nombre de proyecto)

Ingrese el nombre del proyecto de compilación. Los nombres de los proyectos de compilación debe ser únicos en cada cuenta de AWS.

Descripción

Introduzca una descripción opcional del proyecto de compilación para ayudar a otros usuarios a entender para qué se utiliza este proyecto.

Compilación de insignia

(Opcional) SeleccioneHabilitar insignia de compilaciónpara que el estado de compilación de tu proyecto sea visible e integrable. Para obtener más información, consulte Ejemplo de insignias de compilación.

nota

La insignia de compilación no se aplica si el proveedor de origen es Amazon S3.

Habilitar límite de compilaciones simultáneas

(Opcional) Si desea limitar el número de compilaciones simultáneas para este proyecto, siga los pasos que se describen a continuación:

  1. SelectRestringir el número de compilaciones simultáneas que este proyecto puede.

  2. EnLímite de compilación concurrente, introduzca el número máximo de compilaciones simultáneas que están permitidas para este proyecto. Este límite no puede ser mayor que el límite de creación simultánea establecido para la cuenta. Si intenta introducir un número superior al límite de cuentas, aparece un mensaje de error.

Las nuevas versiones solo se inician si el número actual de versiones es menor o igual a este límite. Si el recuento de versiones actual cumple con este límite, las nuevas versiones se limitan y no se ejecutan.

Información adicional

(Opcional) En Tags (Etiquetas), escriba el nombre y el valor de las etiquetas que desea que usen los servicios compatibles de AWS. Use Add row para añadir una etiqueta. Puede añadir hasta 50 etiquetas.

Fuente

Proveedor de origen

Elija el tipo de proveedor de código fuente. Utilice las siguientes listas para hacer las selecciones adecuadas para su proveedor de origen:

nota

CodeBuild no es compatible con Bitbucket Server.

Amazon S3
Bucket

Elija el nombre del bucket de entrada que contiene el código fuente.

Clave de objeto S3 o carpeta S3

Introduzca el nombre del archivo comprimido o la ruta a la carpeta que contiene el código fuente. Incluya una barra diagonal (/) para descargarlo todo en el bucket de S3.

Versión de origen

Introduzca el ID de versión del objeto que representa la compilación del archivo de entrada. Para obtener más información, consulte Ejemplo de versión de origen con AWS CodeBuild.

CodeCommit
Repositorio

Elija el repositorio que desea usar.

Tipo de referencia

ElegirRama,Git, oID de confirmaciónpara especificar la versión del código fuente. Para obtener más información, consulte Ejemplo de versión de origen con AWS CodeBuild.

nota

Te recomendamos que elijas nombres de rama de Git que no parezcan ID de confirmación, como811dd1ba1aba14473856cee38308caed7190c0do5392f7. Esto te ayuda a evitar colisiones de check-out de Git con confirmaciones reales.

Profundidad de Git

Elija crear un clon superficial con un historial truncado al número especificado de confirmaciones. Si desea un clon completo, elija Full (Completo).

Submódulos de Git

Seleccione Use Git submodules (Usar submódulos de Git) si desea incluir submódulos de Git en el repositorio.

Bitbucket
Repositorio

ElegirConnect mediante OAuthoConnect con una contraseña de aplicación de Bitbuckety sigue las instrucciones para conectarte (o volver a conectarte) a Bitbucket.

Elige un repositorio público o un repositorio en tu cuenta.

Versión de origen

Ingresa una rama, un ID de confirmación, una etiqueta o una referencia y un ID de confirmación. Para obtener más información, consulteEjemplo de versión de origen con AWS CodeBuild

nota

Te recomendamos que elijas nombres de rama de Git que no parezcan ID de confirmación, como811dd1ba1aba14473856cee38308caed7190c0do5392f7. Esto te ayuda a evitar colisiones de check-out de Git con confirmaciones reales.

Profundidad de Git

Seleccione Git clone depth (Profundidad del clon de Git) para crear un clon superficial con un historial truncado en el número de confirmaciones especificado. Si desea un clon completo, elija Full (Completo).

Submódulos de Git

Seleccione Use Git submodules (Usar submódulos de Git) si desea incluir submódulos de Git en el repositorio.

Estado de la compilación

SelectInformar de los estados de compilación al proveedor de origen cuando comiencen y finalicensi desea que el estado del inicio y finalización de la compilación se informe a su proveedor de código fuente.

Para poder informar del estado de compilación al proveedor de origen, el usuario asociado al proveedor de origen debe tener acceso de escritura al repositorio. Si el usuario no tiene acceso de escritura, el estado de compilación no se puede actualizar. Para obtener más información, consulte Acceso al proveedor de origen.

ParaContexto de estado, introduzca el valor que se utilizará para elnameen el estado de confirmación de Bitbucket. Para obtener más información, consulte la compilación en la documentación de la API de Bitbucket.

ParaURL de destino, introduzca el valor que se utilizará para elurlen el estado de confirmación de Bitbucket. Para obtener más información, consulte la compilación en la documentación de la API de Bitbucket.

El estado de una compilación activada por un webhook siempre se informa al proveedor de origen. Para que se informe al proveedor de origen del estado de una compilación que se inicia desde la consola o de una llamada a la API, debes seleccionar esta configuración.

Si las compilaciones de tu proyecto se activan mediante un webhook, debes enviar una nueva confirmación al repositorio para que se aplique un cambio en esta configuración.

EnEventos de webhook de origen principal, selectReconstruir cada vez que se envía un cambio de código a este repositoriosi quieres CodeBuild para compilar el código fuente cada vez que un cambio de código se introduce en este repositorio. Para obtener más información acerca de los webhooks y grupos de filtros, consulteEventos de webhooks de Bitbucket.

GitHub
Repositorio

ElegirConnect mediante OAuthoConnect con un GitHub Token de acceso personaly siga las instrucciones para conectarse (o volver a conectarse) a GitHub y autoriza el acceso aAWS CodeBuild.

Elige un repositorio público o un repositorio en tu cuenta.

Versión de origen

Ingresa una rama, un ID de confirmación, una etiqueta o una referencia y un ID de confirmación. Para obtener más información, consulteEjemplo de versión de origen con AWS CodeBuild

nota

Te recomendamos que elijas nombres de rama de Git que no parezcan ID de confirmación, como811dd1ba1aba14473856cee38308caed7190c0do5392f7. Esto te ayuda a evitar colisiones de check-out de Git con confirmaciones reales.

Profundidad de Git

Seleccione Git clone depth (Profundidad del clon de Git) para crear un clon superficial con un historial truncado en el número de confirmaciones especificado. Si desea un clon completo, elija Full (Completo).

Submódulos de Git

Seleccione Use Git submodules (Usar submódulos de Git) si desea incluir submódulos de Git en el repositorio.

Estado de la compilación

SelectInformar de los estados de compilación al proveedor de origen cuando comiencen y finalicensi desea que el estado del inicio y finalización de la compilación se informe a su proveedor de código fuente.

Para poder informar del estado de compilación al proveedor de origen, el usuario asociado al proveedor de origen debe tener acceso de escritura al repositorio. Si el usuario no tiene acceso de escritura, el estado de compilación no se puede actualizar. Para obtener más información, consulte Acceso al proveedor de origen.

ParaContexto de estado, introduzca el valor que se utilizará para elcontexten el parámetro GitHub estado de confirmación. Para obtener más información, consulteCrear un estado de confirmaciónen el GitHub guía para desarrolladores.

ParaURL de destino, introduzca el valor que se utilizará para eltarget_urlen el parámetro GitHub estado de confirmación. Para obtener más información, consulteCrear un estado de confirmaciónen el GitHub guía para desarrolladores.

El estado de una compilación activada por un webhook siempre se informa al proveedor de origen. Para que se informe al proveedor de origen del estado de una compilación que se inicia desde la consola o de una llamada a la API, debes seleccionar esta configuración.

Si las compilaciones de tu proyecto se activan mediante un webhook, debes enviar una nueva confirmación al repositorio para que se aplique un cambio en esta configuración.

EnEventos de webhook de origen principal, selectReconstruir cada vez que se envía un cambio de código a este repositoriosi quieres CodeBuild para compilar el código fuente cada vez que un cambio de código se introduce en este repositorio. Para obtener más información acerca de los webhooks y grupos de filtros, consulteeventos de webhooks de GitHub.

GitHub Enterprise Server
GitHub Token de acceso personal empresarial

ConsulteGitHub Ejemplo de Enterprise Serverpara obtener información sobre cómo copiar un token de acceso personal en el portapapeles. Pegue el token en el campo de texto y seleccione Save Token (Guardar token).

nota

Solo tiene que introducir y guardar el token de acceso personal una vez. CodeBuild usa este token en todos los proyectos future.

Versión de origen

Ingresa una solicitud de extracción, una rama, un ID de confirmación, una etiqueta o una referencia y un ID de confirmación. Para obtener más información, consulte Ejemplo de versión de origen con AWS CodeBuild.

nota

Te recomendamos que elijas nombres de rama de Git que no parezcan ID de confirmación, como811dd1ba1aba14473856cee38308caed7190c0do5392f7. Esto te ayuda a evitar colisiones de check-out de Git con confirmaciones reales.

Profundidad de Git

Seleccione Git clone depth (Profundidad del clon de Git) para crear un clon superficial con un historial truncado en el número de confirmaciones especificado. Si desea un clon completo, elija Full (Completo).

Submódulos de Git

Seleccione Use Git submodules (Usar submódulos de Git) si desea incluir submódulos de Git en el repositorio.

Estado de la compilación

SelectInformar de los estados de compilación al proveedor de origen cuando comiencen y finalicensi desea que el estado del inicio y finalización de la compilación se informe a su proveedor de código fuente.

Para poder informar del estado de compilación al proveedor de origen, el usuario asociado al proveedor de origen debe tener acceso de escritura al repositorio. Si el usuario no tiene acceso de escritura, el estado de compilación no se puede actualizar. Para obtener más información, consulte Acceso al proveedor de origen.

ParaContexto de estado, introduzca el valor que se utilizará para elcontexten el parámetro GitHub estado de confirmación. Para obtener más información, consulteCrear un estado de confirmaciónen el GitHub guía para desarrolladores.

ParaURL de destino, introduzca el valor que se utilizará para eltarget_urlen el parámetro GitHub estado de confirmación. Para obtener más información, consulteCrear un estado de confirmaciónen el GitHub guía para desarrolladores.

El estado de una compilación activada por un webhook siempre se informa al proveedor de origen. Para que se informe al proveedor de origen del estado de una compilación que se inicia desde la consola o de una llamada a la API, debes seleccionar esta configuración.

Si las compilaciones de tu proyecto se activan mediante un webhook, debes enviar una nueva confirmación al repositorio para que se aplique un cambio en esta configuración.

SSL inseguro

SelectHabilitar SSL no seguropara pasar por alto las advertencias de SSL al conectarse a GitHub Repositorio de proyectos empresariales.

EnEventos de webhook de origen principal, selectReconstruir cada vez que se envía un cambio de código a este repositoriosi quieres CodeBuild para compilar el código fuente cada vez que un cambio de código se introduce en este repositorio. Para obtener más información acerca de los webhooks y grupos de filtros, consulteeventos de webhooks de GitHub.

Entorno

Imagen del entorno

Haga una de las siguientes acciones:

  • 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 de Linux, oWindows. 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 tuAWSCuenta de.

  • Para usar una imagen de Docker privada, seleccionaImagen personalizada. ParaTipo de entorno, eligeBRAZO,Linux,GPU de Linux, oWindows. 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.

nota

CodeBuild anulanENTRYPOINTpara imágenes personalizadas de Docker.

Privilegiado

(Opcional) SeleccionePrivilegiadosolo si planea usar este proyecto de compilación para crear imágenes de Docker y la imagen del entorno de compilación que eligió no la proporciona CodeBuild con soporte de Docker. De lo contrario, todas las compilaciones asociadas que intenten interactuar con el daemon de Docker producirán un error. También debe iniciar el daemon de Docker para que las compilaciones puedan interactuar con él. Una forma de hacer esto es inicializar el daemon de Docker en la fase install de la especificación de compilación ejecutando los siguientes comandos de compilación. No ejecute estos comandos si ha elegido una imagen de entorno de compilación proporcionada por CodeBuild con soporte de Docker.

nota

De forma predeterminada, los contenedores Docker no permiten el acceso a ningún dispositivo. El modo privilegiado otorga acceso al contenedor Docker de un proyecto de compilación a todos los dispositivos. Para obtener más información, consulte la sección sobre privilegios en tiempo de ejecución y capacidades de Linux en el sitio web de Docker Docs.

- nohup /usr/local/bin/dockerd --host=unix:///var/run/docker.sock --host=tcp://127.0.0.1:2375 --storage-driver=overlay2 & - timeout 15 sh -c "until docker info; do echo .; sleep 1; done"
Rol de servicio

Haga una de las siguientes acciones:

  • Si no tiene una CodeBuild función de servicio, elijaRol de servicio nuevo. Escriba un nombre para el nuevo rol en el campo Role Name.

  • Si tiene un CodeBuild función de servicio, elijaFunción de servicio existente. EnARN de rol, seleccione la función de servicio.

nota

Cuando utiliza la consola para crear 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.

Configuración adicional
Timeout (Tiempo de espera)

Especifique un valor, entre 5 minutos y 8 horas, tras lo cual CodeBuild detiene la compilación si no está completa. Si hours y minutes se dejan en blanco, se usará el valor predeterminado de 60 minutos.

VPC

Si quieres CodeBuild para trabajar con la VPC:

  • ParaVPC, elija el ID de la VPC que CodeBuild Utiliza.

  • ParaSubredes de la VPC, elija las subredes que incluyan recursos que CodeBuild Utiliza.

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

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

Computación

Elija una de las opciones disponibles.

Variables de entorno

Ingresa el nombre y el valor y, a continuación, elige el tipo de cada variable de entorno para que las usen las compilaciones.

nota

CodeBuild establece la variable de entorno para suAWSRegion automáticamente. Debe definir las siguientes variables de entorno, si no las ha agregado a su archivo buildspec.yml:

  • AWS_ACCOUNT_ID

  • IMAGE_REPO_NAME

  • IMAGE_TAG

Los usuarios de la consola y de AWS CLI pueden ver las variables de entorno. Si no le preocupa que la variable de entorno esté visible, establezca los campos Name y Value, y después establezca Type en Plaintext.

Le recomendamos que almacene una variable de entorno con un valor sensible, como unAWSID de clave de acceso deAWSuna clave de acceso secreta o una contraseña como parámetro en el almacén de parámetros de Amazon EC2 Systems Manager oAWS Secrets Manager.

Si utiliza Amazon EC2 Systems Manager Parameter Store, paraTipo, eligeParámetro. ParaNombre, introduzca un identificador para CodeBuild referencia. ParaValor, introduzca el nombre del parámetro tal y como se almacena en el almacén de parámetros de Amazon EC2 Systems Manager. Utilizando el parámetro denominado /CodeBuild/dockerLoginPassword como ejemplo, en Type (Tipo), seleccione Parameter (Parámetro). En Name (Nombre), ingrese LOGIN_PASSWORD. En Value, ingrese /CodeBuild/dockerLoginPassword.

importante

Si utiliza Amazon EC2 Systems Manager Parameter Store, le recomendamos que almacene los parámetros con nombres de parámetros que comiencen por/CodeBuild/(por ejemplo,/CodeBuild/dockerLoginPassword). Puede utilizar el CodeBuild para crear un parámetro en Amazon EC2 Systems Manager. Seleccione Create a parameter (Crear parámetro) y siga las instrucciones del cuadro de diálogo. (En ese cuadro de diálogo, paraClave KMS, puede especificar el ARN de unAWS KMSingrese en su cuenta. Amazon EC2 Systems Manager utiliza esta clave para cifrar el valor del parámetro durante el almacenamiento y descifrarlo durante la recuperación.) Si utiliza el CodeBuild console para crear un parámetro, la consola inicia el nombre del parámetro con/CodeBuild/a medida que se está almacenando. Para obtener más información, consulteAlmacén de parámetros de Administrador de sistemasyTutorial de la consola del almacén de parámetros de Systems Manageren elGuía del usuario de Amazon EC2 Systems Manager.

Si su proyecto de compilación hace referencia a parámetros almacenados en Amazon EC2 Systems Manager Parameter Store, la función de servicio del proyecto de compilación debe permitirssm:GetParametersAcción. Si eligesRol de servicio nuevoantes, CodeBuild incluye esta acción en la función de servicio predeterminada del proyecto de compilación. Sin embargo, si seleccionó Existing service role (Rol de servicio existente), deberá incluir esta acción en el rol de servicio por separado.

Si su proyecto de compilación hace referencia a parámetros almacenados en el almacén de parámetros de Amazon EC2 Systems Manager con nombres de parámetros que no comienzan por/CodeBuild/, y elegisteRol de servicio nuevo, debe actualizar esa función de servicio para permitir el acceso a los nombres de parámetros que no comiencen por/CodeBuild/. Esto es así porque el rol de servicio permite el acceso únicamente a los nombres de parámetro que empiezan por /CodeBuild/.

Si eligeNuevo rol de servicio, el rol de servicio incluye permiso para descifrar todos los parámetros de la/CodeBuild/namespace en el almacén de parámetros de Amazon EC2 Systems Manager.

Las variables de entorno que defina reemplazan las variables de entorno existentes. Por ejemplo, si la imagen de Docker ya contiene una variable de entorno denominada MY_VAR con un valor de my_value y establece una variable de entorno denominada MY_VAR con un valor de other_value, my_value se reemplaza por other_value. Asimismo, si la imagen de Docker ya contiene una variable de entorno denominada PATH con un valor de /usr/local/sbin:/usr/local/bin y establece una variable de entorno denominada PATH con un valor de $PATH:/usr/share/ant/bin, /usr/local/sbin:/usr/local/bin se reemplaza por el valor literal $PATH:/usr/share/ant/bin.

No establezca variables de entorno con un nombre que empiece por CODEBUILD_. Este prefijo se reserva para uso interno de .

Si se define una variable de entorno con el mismo nombre en varios lugares, el valor se determina de la siguiente manera:

  • El valor de la llamada a la operación de inicio de la compilación tiene la máxima prioridad.

  • El valor de la definición del proyecto de compilación es el siguiente en orden de prioridad.

  • El valor en la declaración de especificación de compilación es el que menos prioridad tiene.

Si utilizas Secrets Manager, paraTipo, eligeSecrets Manager. ParaNombre, introduzca un identificador para CodeBuild referencia. En Value (Valor), introduzca un reference-key utilizando el patrón secret-id:json-key:version-stage:version-id. Para obtener información, consulte Secrets Manager reference-key in the buildspec file.

importante

Si utiliza Secrets Manager, le recomendamos que guarde secretos con nombres que comiencen por/CodeBuild/(por ejemplo,/CodeBuild/dockerLoginPassword). Para obtener más información, consulte ¿Qué es AWS Secrets Manager? en la Guía del usuario de AWS Secrets Manager.

Si tu proyecto de compilación hace referencia a secretos almacenados en Secrets Manager, la función de servicio del proyecto de compilación debe permitir lasecretsmanager:GetSecretValueAcción. Si eligesNuevo rol de servicioantes, CodeBuild incluye esta acción en la función de servicio predeterminada del proyecto de compilación. Sin embargo, si seleccionó Existing service role (Rol de servicio existente), deberá incluir esta acción en el rol de servicio por separado.

Si tu proyecto de compilación hace referencia a secretos almacenados en Secrets Manager con nombres secretos que no comiencen por/CodeBuild/, y elegisteRol de servicio nuevo, debe actualizar la función de servicio para permitir el acceso a los nombres secretos que no comiencen por/CodeBuild/. Esto se debe a que el rol de servicio solo permite el acceso a nombres secretos que comiencen con/CodeBuild/.

Si eligeRol de servicio nuevo, el rol de servicio incluye permiso para descifrar todos los secretos en el/CodeBuild/espacio de nombres en el Secrets Manager.

BuildSpec

Especificaciones de compilación

Haga una de las siguientes acciones:

  • Si el código fuente incluye un archivo de especificación de compilación, elija Use a buildspec file (Usar un archivo buildspec). De forma predeterminada, CodeBuild busca un archivo denominado buildspec.yml en el directorio raíz del código fuente. Si el archivo buildspec utiliza un nombre o una ubicación diferentes, introduzca su ruta desde la raíz de origen enBuildSpec.(por ejemplo,buildspec-two.ymloconfiguration/buildspec.yml. Si el archivo buildspec se encuentra en un bucket de S3, debe estar en el mismoAWSRegion como proyecto de compilación. Especifique el archivo buildspec mediante su ARN (por ejemplo,arn:aws:s3:::my-codebuild-sample2/buildspec.yml).

  • Si el código fuente no incluye un archivo de especificación de compilación o si desea ejecutar comandos de compilación diferentes de los especificados para la fase build en el archivo buildspec.yml del directorio raíz de código fuente, elija Insert build commands (Insertar comandos de compilación). En Build commands (Comandos de compilación), escriba los comandos que desea ejecutar en la fase build. En caso de que haya varios comandos, separe cada comando con && (por ejemplo, mvn test && mvn package). Para ejecutar comandos en otras fases, o si dispone de una larga lista de comandos parabuildfase, añada unabuildspec.ymlal directorio raíz del código fuente, añada los comandos al archivo y, a continuación, seleccioneUtilice buildspec.yml en el directorio raíz del código fuente.

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

Configuración del Batch

Puedes ejecutar un grupo de compilaciones como una sola operación. Para obtener más información, consulte Compilación Batch enAWS CodeBuild.

Definir configuración de lotes

Seleccione esta opción para permitir las compilaciones por lotes en este proyecto.

Batch de servicio por

Proporciona la función de servicio para las compilaciones por lotes.

Elija una de las siguientes opciones:

  • Si no tiene una función de servicio por lotes, elijaRol de servicio nuevo. EnRol de servicio, ingrese el nombre del rol nuevo.

  • Si tiene una función de servicio por lotes, elijaFunción de servicio existente. EnRol de servicio, seleccione la función de servicio.

Las compilaciones Batch introducen una nueva función de seguridad en la configuración de lotes. Esta nueva función es obligatoria ya que CodeBuild debe poder llamar alStartBuild,StopBuild, yRetryBuildacciones en tu nombre para ejecutar compilaciones como parte de un lote. Los clientes deben usar una nueva función, y no la misma función que usan en su creación, por dos motivos:

  • Otorgar la función de construcciónStartBuild,StopBuild, yRetryBuildlos permisos permitirían que una sola compilación iniciara más compilaciones a través de buildspec.

  • CodeBuild Las compilaciones por lotes proporcionan restricciones que restringen la cantidad de compilaciones y tipos de cómputos que se pueden usar para las compilaciones del lote. Si el rol de compilación tiene estos permisos, es posible que las propias compilaciones puedan eludir estas restricciones.

Tipos de cómputos permitidos para el lote

Seleccione los tipos de cómputos permitidos para el lote. Selecciona todas las opciones que correspondan.

Número máximo de compilaciones permitidas en lote

Introduzca el número máximo de compilaciones permitidas en el lote. Si un lote supera este límite, el lote fallará.

Tiempo de espera del Batch

Introduzca la cantidad máxima de tiempo que dura la compilación del lote.

Compilación de artefactos

SelectCombina todos los artefactos del lote en una sola ubicaciónpara que todos los artefactos del lote se combinen en una sola ubicación.

Modo de informe por lotes

Seleccione el modo de informe de estado de compilación deseado para las compilaciones por lotes.

nota

Este campo solo está disponible cuando la fuente del proyecto es Bitbucket, GitHub, o GitHubEnterprise yInformar de los estados de compilación al proveedor de origen cuando comiencen y finalicense selecciona enFuente.

Compilación agregada

Seleccione esta opción para que los estados de todas las compilaciones del lote se combinen en un único informe de estado.

Compilación individual

Seleccione para que los estados de compilación de todas las compilaciones del lote se informen por separado.

Artifacts

Type

Haga una de las siguientes acciones:

  • Si no desea crear ningún artefacto de salida de la compilación, elija No artifacts. Puede que quiera hacerlo si solo está ejecutando pruebas de compilación o si desea insertar una imagen de Docker en un repositorio de Amazon ECR.

  • Para almacenar el resultado de la compilación en un bucket de S3, elijaAmazon 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. (Si desea producir un archivo ZIP y desea que el archivo ZIP tenga una extensión de archivo, asegúrese de incluirlo detrás del nombre del archivo ZIP).

    • Seleccione Enable semantic versioning (Habilitar control semántico de versiones) si desea que el nombre especificado en el archivo buildspec invalide cualquier nombre especificado en la consola. El nombre en un archivo buildspec se calcula en tiempo de compilación y utiliza el lenguaje de comandos Shell. Por ejemplo, puede adjuntar una fecha y una hora al nombre del artefacto para que siempre sea único. Los nombres de artefactos únicos impiden que los artefactos se sobrescriban. Para obtener más información, consulte Sintaxis de buildspec.

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

    • Si no desea que los artefactos de compilación se cifren, seleccione Remove artifacts encryption (Quitar cifrado de artefactos),

Para cada conjunto de artefactos secundarios que desee:

  1. Para Source identifier (Identificador de artefacto), escriba un valor que tenga como máximo 128 caracteres, únicamente de tipo alfanumérico y guiones bajos.

  2. Elija Add artifact (Añadir artefacto).

  3. Siga los pasos anteriores para configurar los artefactos secundarios.

  4. Elija Save artifact (Guardar artefacto).

Configuración adicional
Clave de cifrado

(opcional) Realice una de las operaciones siguientes:

  • Para utilizar elClave administrada por AWSpara Amazon S3 en su cuenta para cifrar los artefactos de salida de la compilación, dejeClave de cifradoen blanco. Esta es la opción predeterminada.

  • Para utilizar una clave administrada por el cliente a fin de cifrar los artefactos de salida de la compilación, enClave de cifrado, ingrese el ARN de la clave KMS. Utilice el formato arn:aws:kms:region-ID:account-ID:key/key-ID.

Tipo de caché

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 ruta de caché, ingrese 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.

Registros

Elija los registros que desee crear. Puedes crear Amazon CloudWatch Logs, registros de Amazon S3 o ambos.

CloudWatch

Si quieres Amazon CloudWatch Registros de registros:

CloudWatch logs

SelectCloudWatch logs.

Group name

Ingrese el nombre de su Amazon CloudWatch Logs del grupo de registros.

Nombre del flujo

Ingresa tu Amazon CloudWatch Registra el nombre del flujo de registro

S3

Si desea registros de Amazon S3:

Registros de S3

Seleccione registros de S3.

Bucket

Elija el nombre del bucket de S3 para sus registros.

Prefijo de path

Introduzca el prefijo de los registros.

Deshabilitar el cifrado de registros S3

Seleccione si no desea que se cifren los registros de S3.