Cambie la configuración del proyecto de compilación en AWS CodeBuild - AWS CodeBuild

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Cambie la configuración del proyecto de compilación en AWS CodeBuild

Puede usar la AWS CodeBuild consola o AWS SDKs cambiar la configuración de un proyecto de compilación. AWS CLI

Si añades informes de pruebas a un proyecto de compilación, asegúrate de que tu IAM rol tenga los permisos descritos enPermisos del informe de prueba.

Cambiar la configuración de un proyecto de compilación (consola)

Para cambiar la configuración de un proyecto de compilación, realice el procedimiento siguiente:

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

  2. En el panel de navegación, elija Proyectos de compilación.

  3. Haga una de las acciones siguientes:

    • Elija el enlace del proyecto de compilación que desea cambiar y, a continuación, seleccione Detalles de compilación.

    • Seleccione el botón de opción situado junto al proyecto de compilación que desea cambiar, elija Ver detalles y, a continuación, elija Detalles de compilación.

Puede modificar las secciones siguientes:

Configuración del proyecto

En la sección Controladores de dominio, elija Editar. Cuando haya completado los cambios, seleccione Actualizar configuración para guardar la configuración nueva.

Puede modificar las propiedades siguientes.

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

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

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.

Habilitar el acceso a compilaciones públicas

Para que los resultados de la compilación de tu proyecto estén disponibles para el público, incluidos los usuarios sin acceso a una AWS cuenta, selecciona Habilitar el acceso a la compilación pública y confirma que quieres que los resultados de la compilación sean públicos. Las propiedades siguientes se utilizan en los proyectos de compilación pública:

Rol de servicio de compilación pública

Selecciona Nuevo rol de servicio si quieres CodeBuild crear un nuevo rol de servicio para ti, o Rol de servicio existente si quieres usar un rol de servicio existente.

La función de servicio de compilación público CodeBuild permite leer los CloudWatch registros y descargar los artefactos de Amazon S3 para las compilaciones del proyecto. Esto es necesario para que los registros de compilación y los artefactos del proyecto estén disponibles para el público.

Rol de servicio

Introduzca el nombre del nuevo rol de servicio o de un rol de servicio existente.

Para que los resultados de compilación del proyecto sean privados, desactive la opción Habilitar el acceso a la compilación pública.

Para obtener más información, consulte Obtenga un proyecto de construcción pública URLs.

aviso

A la hora de hacer públicos los resultados de compilación de un proyecto, es necesario tener en cuenta lo siguiente:

  • Todos los resultados, registros y artefactos de la compilación del proyecto, incluidas las compilaciones que se hayan ejecutado cuando el proyecto era privado, están disponibles para el público.

  • Todos los registros y artefactos de compilación están disponibles para el público. Es posible que las variables de entorno, el código fuente y otra información confidencial estén presentes en los registros y artefactos de compilación. Es necesario tener cuidado con la información que se envía a los registros de compilación. Algunas de las mejores prácticas son:

    • No almacene valores confidenciales, especialmente la clave de AWS acceso IDs y las claves de acceso secretas, en las variables de entorno. Le recomendamos que utilice un almacén de parámetros de Amazon EC2 Systems Manager o AWS Secrets Manager que almacene valores confidenciales.

    • Siga Prácticas recomendadas para utilizar webhooks para limitar qué entidades pueden activar una compilación y no almacene las especificaciones de compilación en el propio proyecto para garantizar que los webhooks sean lo más seguros posible.

  • Un usuario malintencionado puede utilizar las compilaciones públicas para distribuir artefactos maliciosos. Recomendamos a los administradores del proyecto que revisen todas las solicitudes de extracción para comprobar que se trata de cambios legítimos. También recomendamos validar todos los artefactos con sus sumas de verificación para asegurarse de que se están descargando los artefactos correctos.

Información adicional

En el caso de las etiquetas, introduzca el nombre y el valor de las etiquetas que desee que utilicen AWS los servicios de soporte. Utilice Agregar fila para añadir una etiqueta. Puede añadir hasta 50 etiquetas.

Origen

En la sección Fuente, elija Editar. Cuando haya completado los cambios, seleccione Actualizar configuración para guardar la configuración nueva.

Puede modificar las propiedades siguientes:

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

Introduce el nombre del ZIP archivo 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, consulteEjemplo de versión fuente 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 fuente con AWS CodeBuild.

nota

Te recomendamos que elijas nombres de rama de Git que no se parezcan a commitIDs, como 811dd1ba1aba14473856cee38308caed7190c0d o5392f7. 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 CodeConnectionsla contraseña de la aplicación o el token de acceso personal al que desee conectarse CodeBuild. OAuth

Conexión

Selecciona una conexión de Bitbucket o un secreto de Secrets Manager para conectarte a través del tipo de conexión especificado.

Repositorio

Selecciona Repositorio en mi cuenta de Bitbucket o Repositorio público e ingresa al repositorio. URL

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 fuente con AWS CodeBuild

nota

Te recomendamos que elijas nombres de rama de Git que no se parezcan a commitIDs, como 811dd1ba1aba14473856cee38308caed7190c0d o5392f7. 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, consulta la compilación en la API documentación de Bitbucket.

URLEn Target, introduce el valor que se utilizará para el url parámetro en el estado de confirmación de Bitbucket. Para obtener más información, consulta la compilación en la documentación de BitbucketAPI.

El estado de una compilación activada por un webhook siempre se notifica al proveedor de origen. Para que se informe al proveedor de origen del estado de una compilación que se ha iniciado desde la consola o de una API llamada, debes seleccionar esta configuració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, selecciona Reconstruir cada vez que se inserte un cambio de código en este repositorio si quieres CodeBuild compilar el código fuente cada vez que se inserte un cambio de 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 el token de acceso personal o de GitHub aplicación al que desee conectarse CodeBuild. OAuth

Conexión

Selecciona una GitHub conexión o un secreto de Secrets Manager para conectarte a través del tipo de conexión especificado.

Repositorio

Selecciona Repositorio en mi GitHub cuenta, Repositorio público o webhook GitHub con alcance e ingresa al repositorio. URL

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 fuente con AWS CodeBuild

nota

Te recomendamos que elijas nombres de rama de Git que no se parezcan a commitIDs, como 811dd1ba1aba14473856cee38308caed7190c0d o5392f7. 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 el contexto de estado, introduce el valor que se utilizará para el context parámetro en el estado de GitHub confirmación. Para obtener más información, consulta Cómo crear un estado de confirmación en la guía para GitHub desarrolladores.

URLEn Target, introduzca el valor que se utilizará para el target_url parámetro en el estado de GitHub confirmación. Para obtener más información, consulta Cómo crear un estado de confirmación en la guía para GitHub desarrolladores.

El estado de una compilación activada por un webhook siempre se notifica al proveedor de origen. Para que se informe al proveedor de origen del estado de una compilación que se ha iniciado desde la consola o de una API llamada, debes seleccionar esta configuració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, selecciona Reconstruir cada vez que se inserte un cambio de código en este repositorio si quieres CodeBuild compilar el código fuente cada vez que se inserte un cambio de código en este repositorio. Para obtener más información acerca de los webhooks y los grupos de filtros, consulte GitHub eventos de webhook.

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 CodeConnectionsun token de acceso personal al que conectarse CodeBuild.

Conexión

Seleccione una conexión GitHub empresarial o un secreto de Secrets Manager para conectarse a través del tipo de conexión especificado.

Repositorio

Seleccione Repositorio en mi cuenta GitHub GitHub empresarial o webhook de ámbito empresarial e introduzca el repositorio. URL

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 fuente con AWS CodeBuild.

nota

Te recomendamos que elijas nombres de rama de Git que no se parezcan a commitIDs, como 811dd1ba1aba14473856cee38308caed7190c0d o5392f7. 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 el contexto de estado, introduce el valor que se utilizará para el context parámetro en el estado de GitHub confirmación. Para obtener más información, consulta Cómo crear un estado de confirmación en la guía para GitHub desarrolladores.

URLEn Target, introduzca el valor que se utilizará para el target_url parámetro en el estado de GitHub confirmación. Para obtener más información, consulta Cómo crear un estado de confirmación en la guía para GitHub desarrolladores.

El estado de una compilación activada por un webhook siempre se notifica al proveedor de origen. Para que se informe al proveedor de origen del estado de una compilación que se ha iniciado desde la consola o de una API llamada, debes seleccionar esta configuració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.

¿Inseguro SSL

Selecciona Activar la inseguridad SSL para ignorar SSL las advertencias al conectarte al repositorio de proyectos de tu GitHub empresa.

En los eventos de webhook de fuente principal, selecciona Reconstruir cada vez que se inserte un cambio de código en este repositorio si quieres CodeBuild compilar el código fuente cada vez que se inserte un cambio de código en este repositorio. Para obtener más información acerca de los webhooks y los grupos de filtros, consulte GitHub eventos de webhook.

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

CodeConnectionsse utiliza para conectarse GitLab a CodeBuild.

Conexión

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

Repositorio

Seleccione el repositorio que desea utilizar.

Versión de fuente

Introduce un ID de solicitud de extracción, una sucursal, 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 fuente con AWS CodeBuild.

nota

Te recomendamos que elijas nombres de rama de Git que no se parezcan a commitIDs, como 811dd1ba1aba14473856cee38308caed7190c0d o5392f7. 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

CodeConnectionsse utiliza para conectar GitLab Self Managed a CodeBuild.

Conexión

Seleccione una conexión GitLab autogestionada a través de la cual conectarse CodeConnections.

Repositorio

Seleccione el repositorio que desea utilizar.

Versión de fuente

Introduce un ID de solicitud de extracción, una sucursal, 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 fuente con AWS CodeBuild.

nota

Te recomendamos que elijas nombres de rama de Git que no se parezcan a commitIDs, como 811dd1ba1aba14473856cee38308caed7190c0d o5392f7. 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.

Entorno

En la sección Entorno, elija Editar. Cuando haya completado los cambios, seleccione Actualizar configuración para guardar la configuración nueva.

Puede modificar las propiedades siguientes:

Modelo de aprovisionamiento

Para cambiar el modelo de aprovisionamiento, elija Cambiar modelo de aprovisionamiento y realice una de las siguientes acciones:

  • Para usar flotas bajo demanda administradas por AWS CodeBuild, elija On-Demand. Con flotas bajo demanda, CodeBuild proporciona computación para sus construcciones. 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 las flotas de capacidad reservada gestionadas por AWS CodeBuild, elija Capacidad reservada y, a continuación, seleccione un nombre de 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 Run se basa en flotas de capacidad reservada.

Imagen del entorno

Para cambiar la imagen de la compilación, elija Anular imagen y realice una de las acciones siguientes:

  • Para usar una imagen de Docker gestionada por AWS CodeBuild, elija Imagen gestionada y, a continuación, seleccione Sistema operativo, Tiempo de ejecución, Imagen y Versión de la 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 el tipo de entorno ARM, elija LinuxGPU, Linux o Windows. Si elige Otro registro, en Registro externo URL, introduzca el nombre y la etiqueta de la imagen de Docker en Docker Hub, utilizando el formato. docker repository/docker image name Si eliges Amazon ECR, usa el ECRrepositorio de Amazon y la ECRimagen de Amazon para elegir la imagen de Docker en tu AWS cuenta.

  • Para usar una imagen de Docker privada, elija Imagen personalizada. En el tipo de entorno ARM, elige LinuxGPU, Linux o Windows. En Registro de imágenes, selecciona Otro registro y, a continuación, introduce las credenciales ARN de tu imagen privada de Docker. 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 ENTRYPOINT de Docker personalizadas.

Rol de servicio

Realice una de las siguientes acciones siguientes:

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

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

nota

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

Configuración adicional
Timeout (Tiempo de espera)

Especifique un valor, entre 5 minutos y 36 horas, tras el cual CodeBuild se detenga la compilación si no se completa. Si se dejan los campos de horas y minutos en blanco, se usará el valor predeterminado de 60 minutos.

Privilegiado

Seleccione Habilitar este indicador si desea crear imágenes de Docker o si desea que sus compilaciones obtengan privilegios elevados. solo si planea 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 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 el soporte CodeBuild de Docker.

nota

De forma predeterminada, el daemon de Docker está habilitado para las compilaciones que no son compiladas. VPC Si quieres usar contenedores Docker para VPC compilaciones, consulta Runtime Privilege y Linux Capabilities en el sitio web de Docker Docs y habilita 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 quieres trabajar CodeBuild con tus: VPC

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

  • En el VPCcaso de las subredes, elija las subredes que incluyen los recursos que CodeBuild utiliza.

  • En el VPCcaso de los grupos de seguridad, elija los grupos de seguridad que se CodeBuild utilizan para permitir el acceso a los recursos del. VPCs

Para obtener más información, consulte Úselo 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 automáticamente la variable de entorno de su AWS región. 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

La consola y AWS CLI los usuarios 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 identificador de clave de AWS acceso, una clave de acceso AWS secreta o una contraseña, como parámetro en el almacén de parámetros de Amazon EC2 Systems Manager o AWS Secrets Manager.

Si utiliza Amazon EC2 Systems Manager Parameter Store, en Tipo, elija Parámetro. En Nombre, introduzca un identificador CodeBuild para la referencia. En Value, introduzca el nombre del parámetro tal y 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 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 la CodeBuild consola 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, para la KMSclave, puede especificar la AWS KMS clave ARN 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 utiliza la CodeBuild consola para crear un parámetro, la consola empezará con el nombre del parámetro a /CodeBuild/ medida que se vaya almacenando. Para obtener más información, consulte el tutorial de Systems Manager Parameter Store y Systems Manager Parameter Store Console en la Guía del usuario de Amazon EC2 Systems Manager.

Si su proyecto de compilación hace referencia a parámetros almacenados en el almacén de parámetros de Amazon EC2 Systems Manager, la función de servicio del proyecto de compilación debe permitir la ssm:GetParameters acción. Si ha elegido anteriormente un nuevo rol de servicio, CodeBuild incluya esta acción en el rol de servicio predeterminado para su 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 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 y ha elegido Nueva función de servicio, debe actualizar esa función de servicio para permitir el acceso a los nombres de parámetros que no comiencen por/CodeBuild/. /CodeBuild/ Esto es así porque el rol de servicio permite el acceso únicamente a los nombres de parámetro que empiezan por /CodeBuild/.

Si elige Nueva función de servicio, la función de servicio incluye el permiso para descifrar todos los parámetros del espacio de /CodeBuild/ nombres del 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, introduzca un identificador para CodeBuild la 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 seleccionaste Nueva función de servicio, CodeBuild incluye esta acción en la función de servicio predeterminada de tu 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

En la sección Especificación de compilación, elija Editar. Cuando haya completado los cambios, seleccione Actualizar configuración para guardar la configuración nueva.

Puede modificar las propiedades siguientes:

Especificaciones de compilación

Realice una de las siguientes acciones siguientes:

  • 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 con un nombre buildspec.yml en el directorio raíz del código fuente. Si el archivo buildspec usa un nombre o ubicación diferente, introduce su ruta desde la raíz de origen en el nombre de Buildspec (por ejemplo, o. buildspec-two.yml configuration/buildspec.yml Si el archivo buildspec está en un bucket de S3, debe estar en la misma región que tu proyecto de compilación. AWS Especifica el archivo buildspec utilizando 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

En la sección Configuración de lotes, elija Editar. Cuando haya completado los cambios, seleccione Actualizar configuración para guardar la configuración nueva. Para obtener más información, consulte Ejecuta compilaciones en lotes.

Puede modificar las propiedades siguientes:

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 debes poder ejecutar las RetryBuild acciones y StartBuildStopBuild, en tu 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.

  • CodeBuild Las compilaciones por lotes proporcionan restricciones que restringen la cantidad de compilaciones y tipos de procesamiento 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 o GitHub Enterprise GitHub, y en Fuente se selecciona Informar del estado de la compilación al proveedor de la fuente cuando las compilaciones comienzan y terminan.

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

En la sección Artefactos, seleccione Editar. Cuando haya completado los cambios, seleccione Actualizar configuración para guardar la configuración nueva.

Puede modificar las propiedades siguientes:

Tipo

Realice una de las siguientes acciones siguientes:

  • Si no desea crear ningún artefacto de salida de la compilación, elija No artifacts. Es posible que desees hacer esto si solo estás ejecutando pruebas de compilación o si deseas enviar una imagen de Docker a un ECR repositorio de Amazon.

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

    • Si quieres usar el nombre de tu proyecto para el ZIP archivo o la carpeta de salida de la compilación, deja el campo Nombre en blanco. De lo contrario, escriba el nombre. (Si desea generar un ZIP archivo y desea que el ZIP archivo tenga una extensión, asegúrese de incluirla después del nombre del ZIP archivo).

    • 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 seleccionó Insertar comandos de compilación al principio de este procedimiento, en Archivos de salida, introduzca las ubicaciones de los archivos de la compilación que desee colocar en el ZIP archivo 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

Realice una de las siguientes acciones siguientes:

  • Para usar Clave administrada de AWS Amazon S3 en su cuenta para cifrar los artefactos de salida de la compilación, deje la clave de cifrado en blanco. Esta es la opción predeterminada.

  • Para usar una clave administrada por el cliente para cifrar los artefactos de salida de la compilación, en Clave ARN de cifrado, introduzca 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 Compilaciones de caché para mejorar el rendimiento.

Registros

En la sección Registros, seleccione Editar. Cuando haya completado los cambios, seleccione Actualizar configuración para guardar la configuración nueva.

Puede modificar las propiedades siguientes:

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

CloudWatch

Si quieres los CloudWatch registros de Amazon Logs:

CloudWatch registros

Seleccione CloudWatch los registros.

Nombre del grupo

Introduce el nombre de tu grupo de CloudWatch registros de Amazon Logs.

Nombre de transmisión

Introduce el nombre de la secuencia de CloudWatch registro de Amazon Logs.

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.

Cambiar la configuración de un proyecto de compilación (AWS CLI)

Para obtener información sobre cómo usar el AWS CLI con AWS CodeBuild, consulta laReferencia de la línea de comandos.

Para actualizar un CodeBuild proyecto con el AWS CLI, debe crear un JSON archivo con las propiedades actualizadas y pasar ese archivo al update-projectcomando. Las propiedades que no estén incluidas en el archivo de actualización permanecen sin cambios.

En el JSON archivo de actualización, solo se requieren la name propiedad y las propiedades modificadas. La propiedad name identifica el proyecto que se va a modificar. Para cualquier estructura modificada, también se deben incluir los parámetros necesarios para esas estructuras. Por ejemplo, para modificar el entorno del proyecto, se necesitan las propiedades environment/type y environment/computeType. Este es un ejemplo que actualiza la imagen del entorno:

{ "name": "<project-name>", "environment": { "type": "LINUX_CONTAINER", "computeType": "BUILD_GENERAL1_SMALL", "image": "aws/codebuild/amazonlinux2-x86_64-standard:4.0" } }

Si necesita obtener los valores de las propiedades actuales de un proyecto, utilice el comando batch-get-projects para obtener las propiedades actuales del proyecto que va a modificar y escriba el resultado en un archivo.

aws codebuild batch-get-projects --names "<project-name>" > project-info.json

La project-info.json El archivo contiene una serie de proyectos, por lo que no se puede utilizar directamente para actualizar un proyecto. Sin embargo, puede copiar las propiedades que desee modificar del project-info.json archive y péguelas en el archivo de actualización como línea base para las propiedades que desee modificar. Para obtener más información, consulte Ver los detalles de un proyecto de compilación (AWS CLI).

Modifique el JSON archivo de actualización como se describe en Crear un proyecto de compilación (AWS CLI) y guarde los resultados. Cuando haya terminado de modificar el JSON archivo de actualización, ejecute el update-projectcomando y pase el JSON archivo de actualización.

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

Si se ejecuta correctamente, el proyecto actualizado JSON aparece en la salida. Si falta algún parámetro obligatorio, aparece un mensaje de error en el resultado que identifica los parámetros que faltan. Por ejemplo, este es el mensaje de error que se muestra si falta el parámetro environment/type:

aws codebuild update-project --cli-input-json file://update-project.json Parameter validation failed: Missing required parameter in environment: "type"

Cambiar la configuración de un proyecto de compilación (AWS SDKs)

Para obtener información sobre su uso AWS CodeBuild con AWS SDKs, consulte laReferencia de los SDK y las herramientas de AWS.