Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Creación de un proyecto de compilación en AWS CodeBuild

Modo de enfoque
Creación de un proyecto de compilación en AWS CodeBuild - AWS CodeBuild

Puede usar la consola de AWS CodeBuild, AWS CLI o los SDK de AWS para crear un proyecto de compilación.

Requisitos previos

Antes de crear un proyecto de compilación, responda las preguntas de Planificación de una compilación.

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

Abra la consola de AWS CodeBuild en https://console.aws.amazon.com/codesuite/codebuild/home.

Si se muestra una página de información de CodeBuild, elija Crear proyecto de compilación. De lo contrario, en el panel de navegación, expanda Compilar, elija Proyectos de compilación y, a continuación, elija Crear proyecto de compilación.

Elija Crear el proyecto de compilación.

Rellene las secciones siguientes: Cuando haya terminado, elija Crear proyecto de compilación en la parte inferior de la página.

Configuración del proyecto

Nombre del proyecto

Introduzca un nombre para este 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 el proyecto.

Insignia de compilación

(Opcional) Seleccione Habilitar insignia de compilación para convertir el estado de compilación del proyecto en visible e incrustable. 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 código fuente es Amazon S3.

Habilitar el límite de compilaciones simultáneas

(Opcional) Si desea limitar el número de compilaciones simultáneas del proyecto, siga los pasos siguientes:

  1. Seleccione Restringir el número de compilaciones simultáneas que puede iniciar este proyecto.

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

Solo se inician compilaciones nuevas si el número actual de compilaciones es menor o igual que este límite. Si el número de compilaciones actual alcanza este límite, se regulan las compilaciones nuevas 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. Utilice Agregar fila para añadir una etiqueta. Puede añadir hasta 50 etiquetas.

Origen

Proveedor de fuentes

Seleccione el tipo de proveedor de código fuente. Utilice las listas siguientes para realizar las selecciones apropiadas para el proveedor de código fuente:

nota

CodeBuild no es compatible con Bitbucket Server.

Amazon S3
Bucket

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

Clave de objeto de S3 o carpeta de S3

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

Versión de fuente

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

Seleccione el repositorio que desea utilizar.

Tipo de referencia

Seleccione Ramificación, Etiqueta de Git o ID de confirmación para especificar la versión de su código fuente. Para obtener más información, consulte Ejemplo de versión de origen con AWS CodeBuild.

nota

Recomendamos seleccionar nombres de ramificaciones de Git que no parezcan identificadores de confirmación, como 811dd1ba1aba14473856cee38308caed7190c0d o 5392f7. Esto ayuda a evitar que la retirada desde Git colisione con confirmaciones reales.

Profundidad del clon de Git

Elija crear un clon superficial con un historial truncado en el número de confirmaciones especificado. Si desea un clon completo, elija Completo.

Submódulos de Git

Seleccione Usar submódulos de Git si desea incluir submódulos de Git en el repositorio.

Bitbucket
Credencial

Elija Credencial de origen predeterminada o Credencial de origen personalizada y siga las instrucciones para administrar la credencial de origen predeterminada o personalizar la credencial de origen.

Tipo de conexión

Elija CodeConnections, OAuth, Contraseña de la aplicación o Token de acceso personal para conectarse a CodeBuild.

Conexión

Seleccione una conexión de Bitbucket o un secreto de Secrets Manager para conectarse mediante el tipo de conexión especificado.

Repositorio

Elija Repositorio en mi cuenta de Bitbucket o Repositorio público y especifique la URL del repositorio.

Versión de fuente

Introduzca una ramificación, 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

Recomendamos seleccionar nombres de ramificaciones de Git que no parezcan identificadores de confirmación, como 811dd1ba1aba14473856cee38308caed7190c0d o 5392f7. Esto ayuda a evitar que la retirada desde Git colisione con confirmaciones reales.

Profundidad del clon 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 Completo.

Submódulos de Git

Seleccione Usar submódulos de Git si desea incluir submódulos de Git en el repositorio.

Estado de la compilación

Seleccione Notificar los estados de compilación al proveedor de fuentes al inicio y al final de las compilaciones si desea que se notifique el estado del inicio y finalización de la compilación al proveedor de fuentes.

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

En Contexto de estado, introduzca el valor que se debe utilizar en el parámetro name en el estado de confirmación de Bitbucket. Para obtener más información, consulte compilación en la documentación de la API de Bitbucket.

En URL de destino, introduzca el valor que se debe utilizar en el parámetro url en el estado de confirmación de Bitbucket. Para obtener más información, consulte compilación en la documentación de la API de Bitbucket.

El estado de una compilación activada por un webhook siempre se notifica al proveedor de origen. Para que se notifique al proveedor de fuentes el estado de una compilación iniciada desde la consola o desde una llamada a la API, es necesario seleccionar esta opción.

Si las compilaciones de un proyecto se activan mediante un webhook, es necesario enviar una nueva confirmación al repositorio para que se aplique cualquier cambio en esta opción.

En Eventos de webhook de fuente principal, seleccione Volver a compilar cada vez que se confirme un cambio en el código en este repositorio si desea que CodeBuild compile el código fuente cada vez que se confirme un cambio del código en este repositorio. Para obtener más información acerca de los webhooks y los grupos de filtros, consulte Eventos de webhooks de Bitbucket.

GitHub
Credencial

Elija Credencial de origen predeterminada o Credencial de origen personalizada y siga las instrucciones para administrar la credencial de origen predeterminada o personalizar la credencial de origen.

Tipo de conexión

Elija Aplicación GitHub, OAuth o Token de acceso personal para conectarse a CodeBuild.

Conexión

Seleccione una conexión de GitHub o un secreto de Secrets Manager para conectarse mediante el tipo de conexión especificado.

Repositorio

Elija Repositorio en mi cuenta de GitHub, Repositorio público o Webhook con ámbito de GitHub y especifique la URL del repositorio.

Versión de fuente

Introduzca una ramificación, 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

Recomendamos seleccionar nombres de ramificaciones de Git que no parezcan identificadores de confirmación, como 811dd1ba1aba14473856cee38308caed7190c0d o 5392f7. Esto ayuda a evitar que la retirada desde Git colisione con confirmaciones reales.

Profundidad del clon 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 Completo.

Submódulos de Git

Seleccione Usar submódulos de Git si desea incluir submódulos de Git en el repositorio.

Estado de la compilación

Seleccione Notificar los estados de compilación al proveedor de fuentes al inicio y al final de las compilaciones si desea que se notifique el estado del inicio y finalización de la compilación al proveedor de fuentes.

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

En Contexto de estado, introduzca el valor que desee usar para el parámetro context en el estado de confirmación de GitHub. Para obtener más información, consulte Crear un estado de confirmación en la guía para desarrolladores de GitHub.

En URL de destino, introduzca el valor que se debe utilizar en el parámetro target_url en el estado de confirmación de GitHub. Para obtener más información, consulte Crear un estado de confirmación en la guía para desarrolladores de GitHub.

El estado de una compilación activada por un webhook siempre se notifica al proveedor de origen. Para que se notifique al proveedor de fuentes el estado de una compilación iniciada desde la consola o desde una llamada a la API, es necesario seleccionar esta opción.

Si las compilaciones de un proyecto se activan mediante un webhook, es necesario enviar una nueva confirmación al repositorio para que se aplique cualquier cambio en esta opción.

En Eventos de webhook de fuente principal, seleccione Volver a compilar cada vez que se confirme un cambio en el código en este repositorio si desea que CodeBuild compile el código fuente cada vez que se confirme un cambio del código en este repositorio. Para obtener más información acerca de los webhooks y los grupos de filtros, consulte Eventos de webhooks de GitHub.

GitHub Enterprise Server
Credencial

Elija Credencial de origen predeterminada o Credencial de origen personalizada y siga las instrucciones para administrar la credencial de origen predeterminada o personalizar la credencial de origen.

Tipo de conexión

Elija CodeConnections o Token de acceso personal para conectarse a CodeBuild.

Conexión

Seleccione una conexión de GitHub Enterprise o un secreto de Secrets Manager para conectarse mediante el tipo de conexión especificado.

Repositorio

Elija Repositorio en mi cuenta de GitHub Enterprise o Webhook con ámbito de GitHub Enterprise y especifique la URL del repositorio.

Versión de fuente

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

nota

Recomendamos seleccionar nombres de ramificaciones de Git que no parezcan identificadores de confirmación, como 811dd1ba1aba14473856cee38308caed7190c0d o 5392f7. Esto ayuda a evitar que la retirada desde Git colisione con confirmaciones reales.

Profundidad del clon 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 Completo.

Submódulos de Git

Seleccione Usar submódulos de Git si desea incluir submódulos de Git en el repositorio.

Estado de la compilación

Seleccione Notificar los estados de compilación al proveedor de fuentes al inicio y al final de las compilaciones si desea que se notifique el estado del inicio y finalización de la compilación al proveedor de fuentes.

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

En Contexto de estado, introduzca el valor que desee usar para el parámetro context en el estado de confirmación de GitHub. Para obtener más información, consulte Crear un estado de confirmación en la guía para desarrolladores de GitHub.

En URL de destino, introduzca el valor que se debe utilizar en el parámetro target_url en el estado de confirmación de GitHub. Para obtener más información, consulte Crear un estado de confirmación en la guía para desarrolladores de GitHub.

El estado de una compilación activada por un webhook siempre se notifica al proveedor de origen. Para que se notifique al proveedor de fuentes el estado de una compilación iniciada desde la consola o desde una llamada a la API, es necesario seleccionar esta opción.

Si las compilaciones de un proyecto se activan mediante un webhook, es necesario enviar una nueva confirmación al repositorio para que se aplique cualquier cambio en esta opción.

SSL no segura

Seleccione Habilitar SSL no segura para ignorar las advertencias de SSL al conectarse al repositorio del proyecto de GitHub Enterprise.

En Eventos de webhook de fuente principal, seleccione Volver a compilar cada vez que se confirme un cambio en el código en este repositorio si desea que CodeBuild compile el código fuente cada vez que se confirme un cambio del código en este repositorio. Para obtener más información acerca de los webhooks y los grupos de filtros, consulte Eventos de webhooks de GitHub.

GitLab
Credencial

Elija Credencial de origen predeterminada o Credencial de origen personalizada y siga las instrucciones para administrar la credencial de origen predeterminada o personalizar la credencial de origen.

Tipo de conexión

CodeConnections se utiliza para conectar GitLab a CodeBuild.

Conexión

Seleccione una conexión de GitLab para conectarse a través de CodeConnections.

Repositorio

Seleccione el repositorio que desea utilizar.

Versión de fuente

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

nota

Recomendamos seleccionar nombres de ramificaciones de Git que no parezcan identificadores de confirmación, como 811dd1ba1aba14473856cee38308caed7190c0d o 5392f7. Esto ayuda a evitar que la retirada desde Git colisione con confirmaciones reales.

Profundidad del clon 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 Completo.

Estado de la compilación

Seleccione Notificar los estados de compilación al proveedor de fuentes al inicio y al final de las compilaciones si desea que se notifique el estado del inicio y finalización de la compilación al proveedor de fuentes.

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

GitLab Self Managed
Credencial

Elija Credencial de origen predeterminada o Credencial de origen personalizada y siga las instrucciones para administrar la credencial de origen predeterminada o personalizar la credencial de origen.

Tipo de conexión

CodeConnections se utiliza para conectar GitLab Self Managed a CodeBuild.

Conexión

Seleccione una conexión de GitLab Self Managed para conectarse a través de CodeConnections.

Repositorio

Seleccione el repositorio que desea utilizar.

Versión de fuente

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

nota

Recomendamos seleccionar nombres de ramificaciones de Git que no parezcan identificadores de confirmación, como 811dd1ba1aba14473856cee38308caed7190c0d o 5392f7. Esto ayuda a evitar que la retirada desde Git colisione con confirmaciones reales.

Profundidad del clon 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 Completo.

Estado de la compilación

Seleccione Notificar los estados de compilación al proveedor de fuentes al inicio y al final de las compilaciones si desea que se notifique el estado del inicio y finalización de la compilación al proveedor de fuentes.

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

Bucket

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

Clave de objeto de S3 o carpeta de S3

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

Versión de fuente

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.

Entorno

Modelo de aprovisionamiento

Realice una de las siguientes acciones:

  • Para usar flotas bajo demanda administradas por AWS CodeBuild, elija Bajo demanda. Con flotas bajo demanda, CodeBuild proporciona procesamiento para sus compilaciones. Las máquinas se destruyen cuando finaliza la compilación. Las flotas bajo demanda están completamente administradas e incluyen capacidades de escalado automático para gestionar los picos de demanda.

  • Para usar flotas de capacidad reservada administradas por AWS CodeBuild, elija Capacidad reservada y, a continuación, seleccione un Nombre de la flota. Con las flotas de capacidad reservada, configura un conjunto de instancias dedicadas para su entorno de compilación. Estas máquinas permanecen inactivas, listas para procesar compilaciones o pruebas de forma inmediata y reducen la duración de las compilaciones. Con flotas de capacidad reservada, sus máquinas estarán siempre en funcionamiento y seguirán incurriendo en costos mientras estén aprovisionadas.

Para obtener más información, consulte Ejecución de compilaciones en flotas de capacidad reservada.

Imagen del entorno

Realice 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). En Tipo de entorno, elija ARM, Linux, GPU de Linux o Windows. Si elige Otro registro, en 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 ha seleccionado Amazon ECR, use Repositorio de Amazon ECR e Imagen de Amazon ECR para elegir la imagen de Docker en su cuenta de AWS.

  • Para usar una imagen de Docker privada, elija Imagen personalizada. En Tipo de entorno, elija ARM, Linux, GPU de 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. Es necesario crear las credenciales con Secrets Manager. Para obtener más información, consulte AWS Secrets Manager en la Guía del usuario de AWS Secrets Manager.

nota

CodeBuild anula las imágenes de ENTRYPOINT y las sustituye por imágenes de Docker personalizadas.

Computación

Realice una de las siguientes acciones:

  • Para usar la computación de EC2, elija EC2. La computación de EC2 ofrece flexibilidad optimizada durante las ejecuciones de acciones.

  • Para usar la computación de Lambda, elija Lambda. La computación de Lambda ofrece velocidades de inicio optimizadas para sus compilaciones. Lambda admite compilaciones más rápidas debido a una latencia de inicio más baja. Además, Lambda también escala de forma automática, por lo que las compilaciones no esperan en cola para ejecutarse. Para obtener más información, consulte Ejecución de compilaciones en la computación de AWS Lambda.

Rol de servicio

Realice una de las siguientes acciones:

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

  • Si tiene un rol de servicio de CodeBuild, elija Rol de servicio existente. En ARN de rol, seleccione el rol de servicio.

nota

Si utiliza la consola para crear un proyecto de compilación, puede crear un rol de servicio de ColdeBuild 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
Límite de reintentos automáticos

Especifique el número de reintentos automáticos adicionales tras una compilación con errores. Por ejemplo, si el límite de reintentos automáticos está establecido en dos, CodeBuild llamará a la API RetryBuild para reintentar la compilación de forma automática hasta dos veces más.

Timeout (Tiempo de espera)

Especifique un valor entre 5 minutos y 36 horas, después de los cuales CodeBuild detiene la compilación si no se ha completado. Si se dejan los campos de horas y minutos en blanco, se usará el valor predeterminado de 60 minutos.

Privilegiado

(Opcional) Seleccione Habilite esta marca si desea compilar imágenes de Docker o desea que sus compilaciones obtengan privilegios elevados solo si pretende usar este proyecto de compilación para compilar imágenes 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 eligió una imagen del entorno de compilación proporcionada por CodeBuild compatible con Docker.

nota

De forma predeterminada, el daemon de Docker está habilitado para compilaciones sin VPC. Si quiere usar contenedores de Docker para las compilaciones de VPC, consulte la sección sobre privilegios en tiempo de ejecución y capacidades de Linux en el sitio web de Docker Docs y habilite el modo privilegiado. Además, Windows no admite el modo privilegiado.

- 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"
VPC

Si desea que CodeBuild funcione con su VPC:

  • En VPC, elija el ID de VPC utilizado por CodeBuild.

  • En Subredes VPC, elija las subredes que contienen recursos utilizados por CodeBuild.

  • En Grupos de seguridad de VPC, elija los grupos de seguridad utilizados por CodeBuild para permitir el acceso a los recursos de las VPC.

Para obtener más información, consulte Uso de AWS CodeBuild con Amazon Virtual Private Cloud.

Computación

Seleccione una de las opciones disponibles.

Variables de entorno

Introduzca el nombre y el valor y, a continuación, seleccione el tipo de cada variable de entorno que se vaya a utilizar en las compilaciones.

nota

CodeBuild establece la variable de entorno para la región de AWS de forma automática. 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 confidencial, como un ID de clave de acceso de AWS, una clave de acceso secreta de AWS o una contraseña, como un parámetro en el almacén de parámetros de Amazon EC2 Systems Manager o AWS Secrets Manager.

Si utiliza el almacén de parámetros de Amazon EC2 Systems Manager, en Tipo, elija Parámetro. En Nombre, escriba un identificador al que CodeBuild pueda hacer referencia. En Valor, escriba el nombre del parámetro tal como está almacenado en el almacén de parámetros de Amazon EC2 Systems Manager. Utilizando el parámetro denominado /CodeBuild/dockerLoginPassword como ejemplo, en Tipo, seleccione Parámetro. En Nombre, escriba LOGIN_PASSWORD. En Valor, introduzca /CodeBuild/dockerLoginPassword.

importante

Si utiliza el almacén de parámetros de Amazon EC2 Systems Manager, le recomendamos que almacene los parámetros con nombres de parámetros que comiencen por /CodeBuild/ (por ejemplo, /CodeBuild/dockerLoginPassword). Puede utilizar la consola de CodeBuild para crear un parámetro en Amazon EC2 Systems Manager. Seleccione Crear parámetro y siga las instrucciones del cuadro de diálogo. (En ese cuadro de diálogo, en Clave de KMS, puede especificar si lo desea el ARN de una clave de AWS KMS de 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 usa la consola de CodeBuild para crear un parámetro, la consola asigna /CodeBuild/ al principio del nombre del parámetro cuando lo almacena. Para obtener más información, consulte Almacén de parámetros de Systems Manager y Tutorial de la consola del almacén de parámetros de Systems Manager en la Guía del usuario de Amazon EC2 Systems Manager.

Si el proyecto de compilación hace referencia a parámetros almacenados en el almacén de parámetros de Amazon EC2 Systems Manager, el rol de servicio del proyecto de compilación debe permitir la acción ssm:GetParameters. Si anteriormente ha seleccionado Nuevo rol de servicio, CodeBuild incluirá automáticamente esta acción en el rol de servicio predeterminado del proyecto de compilación. Sin embargo, si ha seleccionado Rol de servicio existente, deberá incluir esta acción en el rol de servicio por separado.

Si el proyecto de compilación hace referencia a parámetros que se encuentran en el almacén de parámetros de Amazon EC2 Systems Manager cuyos nombres no empiezan por /CodeBuild/ y ha seleccionado Nuevo rol de servicio, debe actualizar ese rol de servicio para permitir el acceso a nombres de parámetro que no empiecen 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 se selecciona Nuevo rol de servicio, el rol de servicio incluye permisos para descifrar todos los parámetros en el espacio de nombres de /CodeBuild/ 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 se utiliza Secrets Manager, seleccione Secrets Manager en Tipo. En Nombre, escriba un identificador al que CodeBuild pueda hacer referencia. En Valor, introduzca un reference-key utilizando el patrón secret-id:json-key:version-stage:version-id. Para obtener más información, consulte Secrets Manager reference-key in the buildspec file.

importante

Si se utiliza Secrets Manager, recomendamos almacenar los secretos con nombres que comiencen por /CodeBuild/ (por ejemplo, /CodeBuild/dockerLoginPassword). Para obtener más información, consulte AWS Secrets Manager en la Guía del usuario de AWS Secrets Manager.

Si el proyecto de compilación hace referencia a secretos almacenados Secrets Manager, el rol de servicio del proyecto de compilación debe permitir la acción secretsmanager:GetSecretValue. Si anteriormente ha seleccionado Nuevo rol de servicio, CodeBuild incluirá automáticamente esta acción en el rol de servicio predeterminado del proyecto de compilación. Sin embargo, si ha seleccionado Rol de servicio existente, deberá incluir esta acción en el rol de servicio por separado.

Si el proyecto de compilación hace referencia a secretos almacenados en Secrets Manager cuyos nombres no empiezan por /CodeBuild/ y se selecciona Nuevo rol de servicio, es necesario actualizar ese rol de servicio para permitir el acceso a nombres de parámetro que no empiecen por /CodeBuild/. Esto es así porque el rol de servicio permite el acceso únicamente a los nombres de secreto que empiezan por /CodeBuild/.

Si elige Nuevo rol de servicio, el rol de servicio incluye permisos para descifrar todos los secretos en el espacio de nombres de /CodeBuild/ en Secrets Manager.

Buildspec

Especificaciones de compilación

Realice 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 llamado buildspec.yml en el directorio raíz del código fuente. Si el archivo de especificación de compilación usa un nombre o una ubicación diferentes, introduzca su ruta desde la raíz de la fuente en el nombre de la especificación de compilación (por ejemplo, buildspec-two.yml o configuration/buildspec.yml). Si el archivo de especificación de compilación está en un bucket de S3, debe estar en la misma región de AWS que el proyecto de compilación. Especifique el archivo de especificación de compilación 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 tiene una lista especialmente larga de comandos para la fase build, añada un archivo buildspec.yml al directorio raíz de código fuente, añada los comandos al archivo y, a continuación, elija Usar el archivo buildspec.yml del directorio raíz del código fuente.

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

Configuración de lotes

Es posible ejecutar un conjunto de compilaciones como una sola operación. Para obtener más información, consulte Ejecución de compilaciones en lotes.

Definir la configuración por lotes

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

Rol de servicio por lotes

Proporciona el rol de servicio para las compilaciones por lotes.

Elija una de las opciones siguientes:

  • Si no tiene un rol de servicio, elija Nuevo rol de servicio. En Rol de servicio, introduzca un nombre nuevo para el rol nuevo.

  • Si tiene un rol de servicio por lotes de CodeBuild, elija Rol de servicio existente. En Rol de servicio, elija el rol de servicio.

Las compilaciones por lotes introducen un nuevo rol de seguridad en la configuración por lotes. Este nuevo rol es obligatorio, ya que CodeBuild debe poder llamar a las acciones StartBuild, StopBuild y RetryBuild en su nombre para ejecutar compilaciones como parte de un lote. Los clientes deberían utilizar un nuevo rol, y no el mismo rol que utilizan para su compilación, por dos motivos:

  • Al asignar los permisos de StartBuild, StopBuild y RetryBuild en el rol de compilación, una sola compilación podría iniciar más compilaciones a través de la especificación de compilación.

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

Tipos de computación permitidos para lotes

Seleccione los tipos de computación permitidos para el lote. Seleccione todos los que correspondan.

Número máximo de compilaciones permitidas en el lote

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

Tiempo de espera del lote

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

Combinar artefactos

Seleccione Combinar todos los artefactos del lote en una sola ubicación para tener todos los artefactos del lote combinados en una sola ubicación.

Modo de informe por lotes

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

nota

Este campo solo está disponible cuando la fuente del proyecto es Bitbucket, GitHub o GitHub Enterprise y se ha seleccionado Notificar los estados de compilación al proveedor de fuentes al inicio y al final de las compilaciones dentro de Fuente.

Compilaciones agregadas

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

Compilaciones individuales

Seleccione esta opción para que se notifiquen los estados de compilación de cada compilación del lote por separado.

Artefactos

Tipo

Realice una de las siguientes acciones:

  • Si no desea crear ningún artefacto de salida de la compilación, elija No artifacts. Por ejemplo, puede interesar esta opción si solo va a ejecutar pruebas de compilación o si desea insertar una imagen de Docker en un repositorio de Amazon ECR.

  • Para almacenar la salida de la compilación en un bucket de S3, seleccione 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 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 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 la Clave administrada de AWS para Amazon S3 en su cuenta para cifrar los artefactos de salida de la compilación, deje Clave de cifrado en blanco. Esta es la opción predeterminada.

  • Para utilizar una clave administrada por el cliente para cifrar los artefactos de salida de la compilación, en Clave de cifrado, introduzca el ARN de la clave administrada por el cliente. Utilice el formato arn:aws:kms:region-ID:account-ID:key/key-ID.

Tipo de caché

En Tipo de caché, seleccione una de las opciones siguientes:

  • Si no desea usar una memoria caché, seleccione Sin caché.

  • Si prefiere utilizar una caché de Amazon S3, seleccione Amazon S3 y haga lo siguiente:

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

    • (Opcional) Para Prefijo de ruta de caché, escriba un prefijo de ruta de Amazon S3. El valor 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 de 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 de las compilaciones en caché para mejorar el rendimiento.

Registros

En Registros, seleccione los registros que desea crear. Puede crear Registros de Amazon CloudWatch, registros de Amazon S3 o ambos.

CloudWatch

Si desea disponer de Registros de Amazon CloudWatch:

Registros de CloudWatch

Seleccione Registros de CloudWatch.

Nombre del grupo

Introduzca el nombre de un grupo de registro de los Registros de Amazon CloudWatch.

Nombre de transmisión

Introduzca el nombre de su flujo de registro en Registros de Amazon CloudWatch.

S3

Si desea registros de Amazon S3:

Registros de S3

Seleccione Registros de S3.

Bucket

Seleccione el nombre del bucket de S3 de los registros.

Prefijo de ruta

Introduzca el prefijo de sus registros.

Desactive el cifrado de registros de S3

Seleccione si no desea cifrar los registros de S3.

Crear un proyecto de compilación (AWS CLI)

Para obtener más información sobre cómo usar AWS CLI con CodeBuild, consulte Referencia de la línea de comandos.

Para crear un proyecto de compilación de CodeBuild utilizando AWS CLI, debe crear una estructura de proyecto con formato JSON, rellenar la estructura y llamar al comando create-project para crear el proyecto.

Creación del archivo JSON

Cree un archivo JSON mínimo con el comando create-project, mediante la opción --generate-cli-skeleton:

aws codebuild create-project --generate-cli-skeleton > <json-file>

Esto crea un archivo JSON con la ruta y el nombre de archivo especificados por <json-file>.

Rellenar el archivo JSON

Modifique los datos de JSON como se indica a continuación y guarde los resultados.

{ "name": "<project-name>", "description": "<description>", "source": { "type": "CODECOMMIT" | "CODEPIPELINE" | "GITHUB" | "GITHUB_ENTERPRISE" | "GITLAB" | "GITLAB_SELF_MANAGED" | "BITBUCKET" | "S3" | "NO_SOURCE", "location": "<source-location>", "gitCloneDepth": "<git-clone-depth>", "buildspec": "<buildspec>", "InsecureSsl": "<insecure-ssl>", "reportBuildStatus": "<report-build-status>", "buildStatusConfig": { "context": "<context>", "targetUrl": "<target-url>" }, "gitSubmodulesConfig": { "fetchSubmodules": "<fetch-submodules>" }, "auth": { "type": "<auth-type>", "resource": "<auth-resource>" }, "sourceIdentifier": "<source-identifier>" }, "secondarySources": [ { "type": "CODECOMMIT" | "CODEPIPELINE" | "GITHUB" | "GITHUB_ENTERPRISE" | "GITLAB" | "GITLAB_SELF_MANAGED" | "BITBUCKET" | "S3" | "NO_SOURCE", "location": "<source-location>", "gitCloneDepth": "<git-clone-depth>", "buildspec": "<buildspec>", "InsecureSsl": "<insecure-ssl>", "reportBuildStatus": "<report-build-status>", "auth": { "type": "<auth-type>", "resource": "<auth-resource>" }, "sourceIdentifier": "<source-identifier>" } ], "secondarySourceVersions": [ { "sourceIdentifier": "<secondary-source-identifier>", "sourceVersion": "<secondary-source-version>" } ], "sourceVersion": "<source-version>", "artifacts": { "type": "CODEPIPELINE" | "S3" | "NO_ARTIFACTS", "location": "<artifacts-location>", "path": "<artifacts-path>", "namespaceType": "<artifacts-namespacetype>", "name": "<artifacts-name>", "overrideArtifactName": "<override-artifact-name>", "packaging": "<artifacts-packaging>" }, "secondaryArtifacts": [ { "type": "CODEPIPELINE" | "S3" | "NO_ARTIFACTS", "location": "<secondary-artifact-location>", "path": "<secondary-artifact-path>", "namespaceType": "<secondary-artifact-namespaceType>", "name": "<secondary-artifact-name>", "packaging": "<secondary-artifact-packaging>", "artifactIdentifier": "<secondary-artifact-identifier>" } ], "cache": { "type": "<cache-type>", "location": "<cache-location>", "mode": [ "<cache-mode>" ] }, "environment": { "type": "LINUX_CONTAINER" | "LINUX_GPU_CONTAINER" | "ARM_CONTAINER" | "WINDOWS_SERVER_2019_CONTAINER" | "WINDOWS_SERVER_2022_CONTAINER", "image": "<image>", "computeType": "BUILD_GENERAL1_SMALL" | "BUILD_GENERAL1_MEDIUM" | "BUILD_GENERAL1_LARGE" | "BUILD_GENERAL1_2XLARGE", "certificate": "<certificate>", "environmentVariables": [ { "name": "<environmentVariable-name>", "value": "<environmentVariable-value>", "type": "<environmentVariable-type>" } ], "registryCredential": [ { "credential": "<credential-arn-or-name>", "credentialProvider": "<credential-provider>" } ], "imagePullCredentialsType": "CODEBUILD" | "SERVICE_ROLE", "privilegedMode": "<privileged-mode>" }, "serviceRole": "<service-role>", "autoRetryLimit": <auto-retry-limit>, "timeoutInMinutes": <timeout>, "queuedTimeoutInMinutes": <queued-timeout>, "encryptionKey": "<encryption-key>", "tags": [ { "key": "<tag-key>", "value": "<tag-value>" } ], "vpcConfig": { "securityGroupIds": [ "<security-group-id>" ], "subnets": [ "<subnet-id>" ], "vpcId": "<vpc-id>" }, "badgeEnabled": "<badge-enabled>", "logsConfig": { "cloudWatchLogs": { "status": "<cloudwatch-logs-status>", "groupName": "<group-name>", "streamName": "<stream-name>" }, "s3Logs": { "status": "<s3-logs-status>", "location": "<s3-logs-location>", "encryptionDisabled": "<s3-logs-encryption-disabled>" } }, "fileSystemLocations": [ { "type": "EFS", "location": "<EFS-DNS-name-1>:/<directory-path>", "mountPoint": "<mount-point>", "identifier": "<efs-identifier>", "mountOptions": "<efs-mount-options>" } ], "buildBatchConfig": { "serviceRole": "<batch-service-role>", "combineArtifacts": <combine-artifacts>, "restrictions": { "maximumBuildsAllowed": <max-builds>, "computeTypesAllowed": [ "<compute-type>" ] }, "timeoutInMins": <batch-timeout>, "batchReportMode": "REPORT_AGGREGATED_BATCH" | "REPORT_INDIVIDUAL_BUILDS" }, "concurrentBuildLimit": <concurrent-build-limit> }

Sustituya lo siguiente:

name

Obligatorio. El nombre de este proyecto de compilación. Este nombre debe ser único en todos los proyectos de compilación de su cuenta de AWS.

description

Opcional. La descripción de este proyecto de compilación.

origen

Obligatorio. Un objeto ProjectSource que contiene información sobre la configuración del código fuente de este proyecto de compilación. Después de añadir un objeto source, puede añadir hasta 12 orígenes más mediante el secondarySources. Esta configuración incluye lo siguiente:

source/type

Obligatorio. El tipo de repositorio que contiene el código fuente que se va a compilar. Los valores válidos son:

  • CODECOMMIT

  • CODEPIPELINE

  • GITHUB

  • GITHUB_ENTERPRISE

  • GITLAB

  • GITLAB_SELF_MANAGED

  • BITBUCKET

  • S3

  • NO_SOURCE

Si usa NO_SOURCE, la especificación de compilación no puede ser un archivo porque el proyecto no tiene un origen. En su lugar, debe usar el atributo buildspec para especificar una cadena con formato YAML para su especificación de compilación. Para obtener más información, consulte Creación de un proyecto de compilación sin un origen.

source/location

Obligatorio a menos que <source-type> sea CODEPIPELINE. La ubicación del código fuente para el tipo de repositorio especificado.

  • Para CodeCommit, la URL clon HTTPS hacia el repositorio que contiene el código fuente y el archivo de especificaciones de compilación (por ejemplo, https://git-codecommit.<region-id>.amazonaws.com/v1/repos/<repo-name>).

  • Para Amazon S3, el nombre del bucket de entrada de compilación, seguido de la ruta y el nombre del archivo ZIP que contiene el código fuente y la especificación de compilación. Por ejemplo:

    • Para un archivo ZIP ubicado en la raíz del bucket de entrada: <bucket-name>/<object-name>.zip.

    • Para un archivo ZIP ubicado en una subcarpeta del bucket de entrada: <bucket-name>/<subfoler-path>/<object-name>.zip.

  • Para GitHub, la URL clon HTTPS al repositorio que contiene el código fuente y el archivo buildspec. La dirección URL debe contener github.com. Debe conectar su cuenta de AWS a su cuenta de GitHub. Para hacerlo, utilice la consola de CodeBuild para crear un proyecto de compilación.

    • Elija Authorize application. (Una vez conectado a su cuenta de GitHub, no es necesario que termine de crear el proyecto de compilación y puede cerrar la consola de CodeBuild).

  • En GitHub Enterprise Server, la URL clon HTTP o HTTPS al repositorio que contiene el código fuente y el archivo buildspec. Además, debe conectar su cuenta de AWS con su cuenta de GitHub Enterprise Server. Para hacerlo, utilice la consola de CodeBuild para crear un proyecto de compilación.

    1. Cree un token de acceso personal en GitHub Enterprise Server.

    2. Copie este token en el portapapeles de forma que pueda utilizarlo al crear el 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.

    3. Al utilizar la consola para crear el proyecto de CodeBuildCodeBuild, en Código fuente, para Proveedor de código fuente, elija GitHub Enterprise.

    4. En Personal Access Token, pegue el token que ha copiado en el portapapeles. Elija Save Token. Su cuenta de CodeBuild ya está conectada a su cuenta de GitHub Enterprise Server.

  • Para GitLab y GitLab Self Managed, la URL de clonación HTTPS al repositorio que contiene el código fuente y el archivo de especificación de compilación. Tenga en cuenta que si usa GitLab, la URL debe contener gitlab.com. Si usa GitLab Self Managed, no es necesario que la URL contenga gitlab.com. Debe conectar su cuenta de AWS a la cuenta de GitLab o GitLab Self Managed. Para hacerlo, utilice la consola de CodeBuild para crear un proyecto de compilación.

    • En el panel de navegación de Herramientas para desarrolladores, elija Configuración, Conexiones y, después, Crear conexión. En esta página, cree una conexión de GitLab o GitLab Self Managed y, a continuación, elija Conectarse a GitLab.

  • Para Bitbucket, la URL clon HTTPS al repositorio que contiene el código fuente y el archivo buildspec. La dirección URL debe contener bitbucket.org. Además, debe conectar su cuenta de AWS a su cuenta de Bitbucket. Para hacerlo, utilice la consola de CodeBuild para crear un proyecto de compilación.

    1. Cuando use la consola para conectarse (o volver a conectarse) a Bitbucket, en la página Confirm access to your account de Bitbucket, elija Grant access. (Una vez conectado a su cuenta de Bitbucket, no es necesario que termine de crear el proyecto de compilación y puede cerrar la consola de CodeBuild).

  • En AWS CodePipeline, no especifique el valor location para source. CodePipeline ignora este valor, ya que cuando se crea una canalización en CodePipeline, se especifica la ubicación del código fuente en la etapa Fuente de la canalización.

source/gitCloneDepth

Opcional. La profundidad del historial que se va a descargar. El valor mínimo es 0. Si esta valor es 0, superior a 25 o no se facilita, se descargará el historial completo con cada proyecto de compilación. Si el tipo de origen es Amazon S3, este valor no se admite.

source/buildspec

Opcional. La definición o archivo de especificación de compilación que va a usar. Si este valor no se proporciona o se establece en una cadena vacía, el código fuente debe contener un archivo buildspec.yml en su directorio raíz. Si se establece este valor, puede ser una definición de especificación de compilación en línea, la ruta a un archivo de especificación de compilación alternativo en relación con el directorio raíz de la fuente principal, o la ruta hasta un bucket de S3. El bucket debe encontrarse en la misma región de AWS que el proyecto de compilación. Especifique el archivo buildspec utilizando su ARN (por ejemplo, arn:aws:s3:::<my-codebuild-sample2>/buildspec.yml). Para obtener más información, consulte Nombre de archivo y ubicación de almacenamiento de buildspec.

source/auth

Contiene información sobre la configuración de autorización para que CodeBuild acceda al código fuente que se va a compilar.

source/auth/tipo

Obligatorio. El tipo de autorización que se usará. Los valores válidos son:

  • OAUTH

  • CODECONNECTIONS

  • SECRETS_MANAGER

source/auth/recurso

Opcional. El valor del recurso que se aplica al tipo de autorización especificado. Puede ser el ARN de Secrets Manager o el ARN de CodeConnections.

source/reportBuildStatus

Especifica si se debe enviar al proveedor de código fuente el estado de inicio y finalización de una compilación. Si define este valor con un proveedor de código fuente distinto de GitHub, GitHub Enterprise Server o Bitbucket, se genera una excepción invalidInputException.

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

source/buildStatusConfig

Contiene información que define cómo el proyecto de compilación de CodeBuild informa del estado de compilación al proveedor de origen. Esta opción se utiliza solo cuando el tipo de fuente es GITHUB, GITHUB_ENTERPRISE o BITBUCKET.

source/buildStatusConfig/context

Con fuentes de Bitbucket, este parámetro se utiliza para el parámetro name en el estado de confirmación de Bitbucket. Con fuentes de GitHub, este parámetro se utiliza para el parámetro context en el estado de confirmación de GitHub.

Por ejemplo, es posible que context contenga el número de compilación y el activador del webhook con variables de entorno de CodeBuild:

AWS CodeBuild sample-project Build #$CODEBUILD_BUILD_NUMBER - $CODEBUILD_WEBHOOK_TRIGGER

El resultado es que el contexto de la compilación n.º 24 se desencadena por un evento de solicitud de extracción de webhook:

AWS CodeBuild sample-project Build #24 - pr/8
source/buildStatusConfig/targetUrl

Con fuentes de Bitbucket, este parámetro se utiliza para el parámetro url en el estado de confirmación de Bitbucket. Con fuentes de GitHub, este parámetro se utiliza para el parámetro target_url en el estado de confirmación de GitHub.

Por ejemplo, es posible establecer la targetUrl y https://aws.amazon.com/codebuild/<path to build> y el estado de la confirmación se vinculará a esta URL.

También es posible incluir variables de entorno CodeBuild en el targetUrl para añadir información adicional a la URL. Por ejemplo, para añadir la región de compilación a la URL, establezca targetUrl en:

"targetUrl": "https://aws.amazon.com/codebuild/<path to build>?region=$AWS_REGION"

Si la región de compilación es us-east-2, esto se expandirá a:

https://aws.amazon.com/codebuild/<path to build>?region=us-east-2
source/gitSubmodulesConfig

Opcional. Información acerca de la configuración de submódulos de Git. Solo se utiliza con CodeCommit, GitHub, GitHub Enterprise Server y Bitbucket.

source/gitSubmodulesConfig/fetchSubmodules

Establezca fetchSubmodules en true si desea incluir submódulos de Git en el repositorio. Los submódulos de Git que se incluyan deben estar configurados como HTTPS.

source/InsecureSsl

Opcional. Solo se utiliza con GitHub Enterprise Server. Establezca este valor en true para omitir las advertencias de TLS al conectarse al repositorio del proyecto de GitHub Enterprise Server. El valor predeterminado es false. InsecureSsl debe utilizarse con fines de prueba únicamente. No debe utilizarse en un entorno de producción.

source/sourceIdentifier

Identificador definido por el usuario para la fuente del proyecto. Opcional para la fuente principal. Obligatorio para las fuentes secundarias.

secondarySources

Opcional. Conjunto de objetos de ProjectSource que contienen información sobre las fuentes secundarias de un proyecto de compilación. Es posible añadir hasta 12 fuentes secundarias. Los objetos secondarySources utilizan las mismas propiedades que el objeto origen. En un objeto de fuente secundario, sourceIdentifier es obligatorio.

secondarySourceVersions

Opcional. Conjunto de objetos ProjectSourceVersion. Si se especifica secondarySourceVersions en el nivel de compilación, prevalece sobre esto.

sourceVersion

Opcional. Versión de la entrada de la compilación que se creará para este proyecto. Si no se especifica, se utiliza la versión más reciente. Si se especifica, debe ser una de las siguientes opciones:

  • En CodeCommit, el ID de confirmación, la ramificación o la etiqueta Git que se va a utilizar.

  • Para GitHub, el ID de confirmación, el ID de solicitud de inserción, el nombre de ramificación o el nombre de etiqueta correspondiente a la versión de código fuente que desea compilar. Si se especifica un ID de solicitud de inserción, este debe tener el formato pr/pull-request-ID (por ejemplo, pr/25). Si se especifica un nombre de ramificación, se usa el ID de confirmación HEAD de la ramificación. Si no se especifica, se usa el ID de confirmación HEAD de la ramificación personalizada.

  • En GitLab, el ID de confirmación, ID de solicitud de extracción, nombre de ramificación, nombre de etiqueta o referencia y un ID de confirmación. Para obtener más información, consulte Ejemplo de versión de origen con AWS CodeBuild.

  • Para Bitbucket, el ID de confirmación, el nombre de ramificación o el nombre de etiqueta correspondiente a la versión de código fuente que desea compilar. Si se especifica un nombre de ramificación, se usa el ID de confirmación HEAD de la ramificación. Si no se especifica, se usa el ID de confirmación HEAD de la ramificación personalizada.

  • En Amazon S3, el ID de versión del objeto que representa el archivo ZIP de entrada de compilación que se va a utilizar.

Si se especifica sourceVersion en el nivel de compilación y, a continuación, esa versión prevalece sobre sourceVersion (en el nivel del proyecto). Para obtener más información, consulte Ejemplo de versión de origen con AWS CodeBuild.

artifacts

Obligatorio. Objeto ProjectArtifacts que contiene información sobre la configuración de los artefactos de salida del proyecto de compilación. Después de añadir un objeto artifacts, puede añadir hasta 12 artefactos más mediante el SecondaryArtifacts. Esta configuración incluye lo siguiente:

artifacts/type

Obligatorio. El tipo de artefacto de salida de la compilación. Los valores válidos son:

  • CODEPIPELINE

  • NO_ARTIFACTS

  • S3

artifacts/location

Solo se usa con el tipo de artefacto S3. No se usa para otros tipos de artefactos.

Nombre del bucket de salida creado o identificado en los requisitos previos.

artifacts/path

Solo se usa con el tipo de artefacto S3. No se usa para otros tipos de artefactos.

Ruta del bucket de salida para colocar el archivo ZIP o la carpeta. Si no especifica un valor para path, CodeBuild utiliza namespaceType (si se ha especificado) y name para determinar la ruta y el nombre del archivo ZIP o carpeta de salida de la compilación. Por ejemplo, si especifica MyPath en path y MyArtifact.zip en name, la ruta y el nombre serán MyPath/MyArtifact.zip.

artefactos/ NamespaceType

Solo se usa con el tipo de artefacto S3. No se usa para otros tipos de artefactos.

Espacio de nombres y archivo ZIP o carpeta de salida de la compilación. Los valores válidos son BUILD_ID y NONE. Utilice BUILD_ID para insertar el ID de compilación en la ruta del archivo ZIP o carpeta de salida de la compilación. De lo contrario, utilice NONE. Si no especifica un valor para namespaceType, CodeBuild utiliza path (si se ha especificado) y name para determinar la ruta y el nombre del archivo ZIP o carpeta de salida de la compilación. Por ejemplo, si especifica MyPath en path, BUILD_ID en namespaceType y MyArtifact.zip en name, la ruta y el nombre serán MyPath/build-ID/MyArtifact.zip.

artifacts/name

Solo se usa con el tipo de artefacto S3. No se usa para otros tipos de artefactos.

Nombre del archivo ZIP o la carpeta de salida de la compilación dentro de location. Por ejemplo, si especifica MyPath en path y MyArtifact.zip en name, la ruta y el nombre serán MyPath/MyArtifact.zip.

artifacts/overrideArtifactName

Solo se usa con el tipo de artefacto de S3. No se usa para otros tipos de artefactos.

Opcional. Si se establece con true, el nombre especificado en el bloque artifacts del archivo de especificación de compilación anulará name. Para obtener más información, consulte Referencia de la especificación de compilación de CodeBuild.

artifacts/packaging

Solo se usa con el tipo de artefacto S3. No se usa para otros tipos de artefactos.

Opcional. Especifica cómo empaquetar los artefactos. Los valores permitidos son:

NONE

Cree una carpeta que contenga los artefactos de compilación. Este es el valor predeterminado.

ZIP

Cree un archivo ZIP que contenga los artefactos de compilación.

SecondaryArtifacts

Opcional. Conjunto de objetos de ProjectSource que contienen información sobre la configuración de artefactos secundarios de un proyecto de compilación. Puede añadir hasta 12 artefactos secundarios. El objeto secondaryArtifacts usa muchos de los mismos valores que utiliza el objeto artifacts.

cache

Obligatorio. Un objeto ProjectCache que contiene información sobre la configuración del caché del proyecto de compilación. Para obtener más información, consulte Almacenamiento de las compilaciones en caché.

environment

Obligatorio. Un objeto ProjectEnvironment que contiene información sobre la configuración del entorno del proyecto de compilación. Esta configuración incluye:

environment/type

Obligatorio. El tipo del entorno de compilación. Para obtener más información, consulte type en la Referencia de la API de CodeBuild.

environment/image

Obligatorio. El identificador de imagen de Docker usado por este entorno de compilación. Normalmente, este identificador se expresa como imagen-name:etiqueta. Por ejemplo, en el repositorio de Docker que CodeBuild usa para administrar sus imágenes de Docker, este sería aws/codebuild/standard:5.0. En Docker Hub, maven:3.3.9-jdk-8. En Amazon ECR, account-id.dkr.ecr.region-id.amazonaws.com/your-Amazon-ECR-repo-name:tag. Para obtener más información, consulte Imágenes de Docker proporcionadas por CodeBuild.

environment/computeType

Obligatorio. Especifica los recursos de computación que utiliza este entorno de compilación. Para obtener más información, consulte ComputeType en la Referencia de la API de CodeBuild.

environment/certificate

Opcional. El ARN del bucket de Amazon S3, el prefijo de la ruta y la clave de objeto que contienen el certificado codificado en PEM. La clave de objeto puede ser únicamente el archivo .pem o un archivo .zip que contenga el certificado codificado en PEM. Por ejemplo, si el nombre del bucket de Amazon S3 es <my-bucket>, el prefijo de ruta es <cert> y el nombre de la clave de objeto es <certificate.pem>, los formatos aceptables para certificate son <my-bucket/cert/certificate.pem> o arn:aws:s3:::<my-bucket/cert/certificate.pem>.

environment/environmentVariables

Opcional. Matriz de objetos EnvironmentVariable que contiene las variables de entorno que se desea especificar para el entorno de compilación. Cada variable de entorno se expresa como un objeto que contiene un name, value y type de name, value y type.

Los usuarios de la consola y de AWS CLI pueden ver todas las variables de entorno. Si no le preocupa que la variable de entorno esté visible, establezca name y value, y establezca type con PLAINTEXT.

Le recomendamos que almacene las variables de entorno con valores confidenciales, como un ID de clave de acceso de AWS, una clave de acceso secreta de AWS o una contraseña, como parámetros en el almacén de parámetros de Amazon EC2 Systems Manager o AWS Secrets Manager. Para name, para ese parámetro almacenado, establezca un identificador que sirva como referencia en CodeBuild.

Si utiliza el almacén de parámetros de Amazon EC2 Systems Manager, value defina el nombre del parámetro tal como está almacenado en el almacén de parámetros. Establezca type en PARAMETER_STORE. Utilizando un parámetro denominado /CodeBuild/dockerLoginPassword como ejemplo, establezca name con LOGIN_PASSWORD. Establezca value en /CodeBuild/dockerLoginPassword. Establezca type en PARAMETER_STORE.

importante

Si utiliza el almacén de parámetros de Amazon EC2 Systems Manager, le recomendamos que almacene los parámetros con nombres de parámetros que comiencen por /CodeBuild/ (por ejemplo, /CodeBuild/dockerLoginPassword). Puede utilizar la consola de CodeBuild para crear un parámetro en Amazon EC2 Systems Manager. Seleccione Crear parámetro y siga las instrucciones del cuadro de diálogo. (En ese cuadro de diálogo, en Clave de KMS, puede especificar si lo desea el ARN de una clave de AWS KMS de 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 usa la consola de CodeBuild para crear un parámetro, la consola asigna /CodeBuild/ al principio del nombre del parámetro cuando lo almacena. Para obtener más información, consulte Almacén de parámetros de Systems Manager y Tutorial de la consola del almacén de parámetros de Systems Manager en la Guía del usuario de Amazon EC2 Systems Manager.

Si el proyecto de compilación hace referencia a parámetros almacenados en el almacén de parámetros de Amazon EC2 Systems Manager, el rol de servicio del proyecto de compilación debe permitir la acción ssm:GetParameters. Si anteriormente ha seleccionado Nuevo rol de servicio, CodeBuild incluirá automáticamente esta acción en el rol de servicio predeterminado del proyecto de compilación. Sin embargo, si ha seleccionado Rol de servicio existente, deberá incluir esta acción en el rol de servicio por separado.

Si el proyecto de compilación hace referencia a parámetros que se encuentran en el almacén de parámetros de Amazon EC2 Systems Manager cuyos nombres no empiezan por /CodeBuild/ y ha seleccionado Nuevo rol de servicio, debe actualizar ese rol de servicio para permitir el acceso a nombres de parámetro que no empiecen 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 se selecciona Nuevo rol de servicio, el rol de servicio incluye permisos para descifrar todos los parámetros en el espacio de nombres de /CodeBuild/ 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 usa Secrets Manager, para value, defina el nombre del parámetro tal como está almacenado en Secrets Manager. Establezca type en SECRETS_MANAGER. Utilizando un secreto denominado /CodeBuild/dockerLoginPassword como ejemplo, establezca name con LOGIN_PASSWORD. Establezca value en /CodeBuild/dockerLoginPassword. Establezca type en SECRETS_MANAGER.

importante

Si se utiliza Secrets Manager, recomendamos almacenar los secretos con nombres que comiencen por /CodeBuild/ (por ejemplo, /CodeBuild/dockerLoginPassword). Para obtener más información, consulte AWS Secrets Manager en la Guía del usuario de AWS Secrets Manager.

Si el proyecto de compilación hace referencia a secretos almacenados Secrets Manager, el rol de servicio del proyecto de compilación debe permitir la acción secretsmanager:GetSecretValue. Si anteriormente ha seleccionado Nuevo rol de servicio, CodeBuild incluirá automáticamente esta acción en el rol de servicio predeterminado del proyecto de compilación. Sin embargo, si ha seleccionado Rol de servicio existente, deberá incluir esta acción en el rol de servicio por separado.

Si el proyecto de compilación hace referencia a secretos almacenados en Secrets Manager cuyos nombres no empiezan por /CodeBuild/ y se selecciona Nuevo rol de servicio, es necesario actualizar ese rol de servicio para permitir el acceso a nombres de parámetro que no empiecen por /CodeBuild/. Esto es así porque el rol de servicio permite el acceso únicamente a los nombres de secreto que empiezan por /CodeBuild/.

Si elige Nuevo rol de servicio, el rol de servicio incluye permisos para descifrar todos los secretos en el espacio de nombres de /CodeBuild/ en Secrets Manager.

environment/registryCredential

Opcional. Objeto RegistryCredential que especifica las credenciales que proporcionan acceso a un registro de Docker privado.

environment/registryCredential/credential

Especifica el ARN o nombre de las credenciales creadas mediante AWS Managed Services. Puede utilizar el nombre de las credenciales solo si existen en su región actual.

environment/registryCredential/credentialProvider

El único valor válido es SECRETS_MANAGER.

Cuando se ha establecido:

  • imagePullCredentials se debe establecer en SERVICE_ROLE.

  • La imagen no puede ser una imagen seleccionada ni una imagen de Amazon ECR.

environment/imagePullCredentialsType

Opcional. Tipo de credenciales que CodeBuild utiliza para extraer imágenes de la compilación. Hay dos valores válidos:

CODEBUILD

CODEBUILD especifica que CodeBuild utiliza sus propias credenciales. Debe editar la política del repositorio de Amazon ECR para confiar en la entidad principal de servicio de CodeBuild.

SERVICE_ROLE

Especifica que CodeBuild utiliza su rol de servicio del proyecto de compilación.

Cuando utilice una imagen de registro entre cuentas o privada, debe usar credenciales de SERVICE_ROLE. Cuando utilice una imagen preparada de CodeBuild, debe utilizar credenciales de CODEBUILD.

environment/privilegedMode

Establézcalo como true si va a usar este proyecto de compilación para crear imágenes 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 hacerlo es iniciar el daemon Docker en la fase de install de su archivo buildspec ejecutando los siguientes comandos de compilación. No ejecute estos comandos si ha especificado una imagen del entorno de compilación proporcionada por CodeBuild compatible con Docker.

nota

De forma predeterminada, el daemon de Docker está habilitado para compilaciones sin VPC. Si quiere usar contenedores de Docker para las compilaciones de VPC, consulte la sección sobre privilegios en tiempo de ejecución y capacidades de Linux en el sitio web de Docker Docs y habilite el modo privilegiado. Además, Windows no admite el modo privilegiado.

- 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"

serviceRole

Obligatorio. El ARN del rol de servicio que usa CodeBuild para interactuar con los servicios en nombre del usuario de (por ejemplo, arn:aws:iam::account-id:role/role-name).

autoRetryLimit

Opcional. El número de reintentos automáticos adicionales tras una compilación con errores. Por ejemplo, si el límite de reintentos automáticos está establecido en dos, CodeBuild llamará a la API RetryBuild para reintentar la compilación de forma automática hasta dos veces más.

timeoutInMinutes

Opcional. Número de minutos, comprendidos entre 5 y 2160 (36 horas), tras los cuales CodeBuild detiene la compilación si no se ha completado. Si no se especifica, se usa el valor predeterminado de 60. Para determinar si y cuándo CodeBuild ha detenido una compilación debido a que se ha agotado el tiempo de espera, ejecute el comando batch-get-builds. Para determinar si la compilación se ha detenido, busque en la salida un valor de buildStatus de FAILED. Para determinar cuándo se ha agotado el tiempo de espera de la compilación, busque en la salida el valor de endTime asociado a un valor de phaseStatus de TIMED_OUT.

queuedTimeoutInMinutes

Opcional. Número de minutos, comprendidos entre 5 y 480 (8 horas), tras los cuales CodeBuild detendrá la compilación si sigue en la cola. Si no se especifica, se usa el valor predeterminado de 60.

encryptionKey

Opcional. Alias o ARN del AWS KMS key utilizado por CodeBuild para cifrar el resultado de la compilación. Si especifica un alias, utilice el formato arn:aws:kms:region-ID:account-ID:key/key-ID o si existe un alias, utilice el formato alias/key-alias. Si no se especifica, se utiliza la clave de KMS administrada por AWS para Amazon S3.

etiquetas

Opcional. Matriz de objetos Tag que proporcionan las etiquetas que desea asociar a este proyecto de compilación. Puede especificar hasta 50 etiquetas. Estas etiquetas se pueden utilizar en cualquier servicio de AWS que admita etiquetas de proyectos de compilación de CodeBuild. Cada etiqueta se expresa como un objeto con key y value.

vpcConfig

Opcional. Objeto VpcConfig que contiene información sobre la configuración de VPC del proyecto. Para obtener más información, consulte Uso de AWS CodeBuild con Amazon Virtual Private Cloud.

Estas propiedades incluyen:

vpcId

Obligatorio. El ID de VPC utilizado por CodeBuild. Ejecute este comando para obtener una lista de todos los ID de la VPC de su región:

aws ec2 describe-vpcs --region <region-ID>
subnets

Obligatorio. Matriz de ID de subredes que incluyen los recursos utilizados por CodeBuild. Para obtener estos ID, ejecute este comando:

aws ec2 describe-subnets --filters "Name=vpc-id,Values=<vpc-id>" --region <region-ID>
securityGroupIds

Obligatorio. Matriz de ID de grupos de seguridad utilizados por CodeBuild para permitir el acceso a los recursos en las VPC. Para obtener estos ID, ejecute este comando:

aws ec2 describe-security-groups --filters "Name=vpc-id,Values=<vpc-id>" --<region-ID>

badgeEnabled

Opcional. Especifica si se deben incluir insignias de compilación en el proyecto de CodeBuild. Configúrelo como true para activar las insignias de compilación o false en caso contrario. Para obtener más información, consulte Ejemplo de insignias de compilación con CodeBuild.

logsConfig

Objeto LogsConfig que contiene información sobre la ubicación de los registros de esta compilación.

logsConfig/cloudWatchLogs

Objeto CloudWatchLogsConfig que contiene información sobre cómo enviar registros a Registros de CloudWatch.

logsConfig/s3Logs

Objeto S3LogsConfig que contiene información sobre cómo enviar registros a Amazon S3.

fileSystemLocations

Opcional. Matriz de objetos ProjectFileSystemsLocation que contiene información sobre la configuración de Amazon EFS.

buildBatchConfig

Opcional. El objeto buildBatchConfig es una estructura ProjectBuildBatchConfig que contiene las modificaciones a la configuración de compilación por lotes para el proyecto.

buildBatchConfig/serviceRole

ARN del rol de servicio para el proyecto de compilación por lotes.

buildBatchConfig/combineArtifacts

Valor booleano que especifica si se deben combinar los artefactos de compilación de la compilación por lotes en una única ubicación de artefactos.

buildBatchConfig/restrictions/maximumBuildsAllowed

Número máximo de compilaciones permitidas.

buildBatchConfig/restrictions/computeTypesAllowed

Una matriz de cadenas que especifican los tipos de computación permitidos para la compilación por lotes. Consulte los valores en Tipos de computación del entorno de compilación.

buildBatchConfig/timeoutInMinutes

Cantidad máxima de tiempo, en minutos, en que se debe completar la compilación por lotes.

buildBatchConfig/batchReportMode

Especifica cómo se envían los informes de estado de compilación al proveedor de origen para la compilación por lotes. Los valores válidos son:

REPORT_AGGREGATED_BATCH

(Predeterminado) Agregue todos los estados de compilación en un único informe de estado.

REPORT_INDIVIDUAL_BUILDS

Envíe un informe de estado independiente para cada compilación individual.

concurrentBuildLimit

Establece el número máximo de versiones simultáneas que están permitidas para este proyecto.

Solo se inician compilaciones nuevas si el número actual de compilaciones es menor o igual que este límite. Si el número de compilaciones actual alcanza este límite, se regulan las compilaciones nuevas y no se ejecutan.

Creación del proyecto

Para crear el proyecto, vuelva a ejecutar el comando create-project pasando su archivo JSON:

aws codebuild create-project --cli-input-json file://<json-file>

Si se ejecuta correctamente, la salida de la consola muestra la representación en JSON de un objeto Project. Consulte Sintaxis de respuesta de CreateProject para ver un ejemplo de estos datos.

Excepto el nombre del proyecto de compilación, puede cambiar cualquiera de los ajustes del proyecto de compilación más adelante. Para obtener más información, consulte Cambiar la configuración de un proyecto de compilación (AWS CLI).

Para empezar a ejecutar una compilación, consulte Ejecutar una compilación (AWS CLI).

Si su código fuente está almacenado en un repositorio de GitHub y desea que CodeBuild lo recompile siempre que se envíe un cambio de código al repositorio, consulte Iniciar la ejecución de compilaciones automáticamente (AWS CLI).

Crear un proyecto de compilación (SDK de AWS)

Para obtener información sobre cómo usar AWS CodeBuild con los SDK de AWS, consulte Referencia de los SDK y las herramientas de AWS.

Crear un proyecto de compilación (AWS CloudFormation)

Para obtener información acerca de cómo utilizar AWS CodeBuild con AWS CloudFormation, consulte la plantilla de AWS CloudFormation para CodeBuild en la Guía del usuario de AWS CloudFormation.

PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.