Cambio de la configuración del proyecto de compilación en AWS CodeBuild
Puede usar la consola de AWS CodeBuild, la AWS CLI o los SDK de AWS para cambiar la configuración de un proyecto de compilación.
Si añade un informe de pruebas a un proyecto de compilación, asegúrese de que su rol de IAM tenga los permisos descritos en Permisos de informes de prueba.
Temas
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:
Abra la consola de AWS CodeBuild en https://console.aws.amazon.com/codesuite/codebuild/home
. -
En el panel de navegación, elija Proyectos de compilación.
-
Realice una de las siguientes acciones:
-
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:
-
Seleccione Restringir el número de compilaciones simultáneas que puede iniciar este proyecto.
-
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 un proyecto estén disponibles para el público, incluidos los usuarios sin acceso a una cuenta de AWS, seleccione Habilitar el acceso a la compilación pública y confirme que desea 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
-
Seleccione Nuevo rol de servicio si desea que CodeBuild cree un nuevo rol de servicio para usted o Rol de servicio existente si desea utilizar un rol de servicio existente.
El rol de servicio de compilación pública permite a CodeBuild leer los Registros de CloudWatch 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 Obtención de direcciones URL de proyectos de compilación públicos.
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 acceso de y las claves de acceso secretas de AWS en variables de entorno. Le recomendamos utilizar un almacén de parámetros de Amazon EC2 Systems Manager o AWS Secrets Manager para almacenar los 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 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
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.
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 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
-
Para cambiar la imagen de la compilación, elija Anular imagen y realice una de las acciones siguientes:
-
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
. 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.docker repository
/docker image name
-
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. -
- 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
-
- 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
-
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, escribaLOGIN_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 demy_value
y establece una variable de entorno denominadaMY_VAR
con un valor deother_value
,my_value
se reemplaza porother_value
. Asimismo, si la imagen de Docker ya contiene una variable de entorno denominadaPATH
con un valor de/usr/local/sbin:/usr/local/bin
y establece una variable de entorno denominadaPATH
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
. Para obtener más información, consulte Secrets Manager reference-key in the buildspec file.secret-id
:json-key
:version-stage
:version-id
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
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:
-
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
oconfiguration/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 archivobuildspec.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 fasebuild
. 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 fasebuild
, añada un archivobuildspec.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 Ejecución de 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 debe poder llamar a las acciones
StartBuild
,StopBuild
yRetryBuild
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
yRetryBuild
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
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:
-
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 defiles
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:
-
Para Source identifier (Identificador de artefacto), escriba un valor que tenga como máximo 128 caracteres, únicamente de tipo alfanumérico y guiones bajos.
-
Elija Add artifact (Añadir artefacto).
-
Siga los pasos anteriores para configurar los artefactos secundarios.
-
Elija Save artifact (Guardar artefacto).
-
- Configuración adicional
-
- Clave de cifrado
-
Realice una de las siguientes acciones:
-
Para utilizar la Clave administrada de AWS de 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, intduzca 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 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 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.
Cambiar la configuración de un proyecto de compilación (AWS CLI)
Para obtener información sobre cómo usar la AWS CLI con AWS CodeBuild, consulte Referencia de la línea de comandos.
Para actualizar un proyecto de CodeBuild con AWS CLI, debe crear un archivo JSON con las propiedades actualizadas y pasar ese archivo al comando update-project
. Las propiedades que no estén incluidas en el archivo de actualización permanecen sin cambios.
En el archivo JSON de actualización, solo se requieren la propiedad name
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
El archivo project-info.json
contiene una matriz de proyectos, por lo que no se puede usar directamente para actualizar un proyecto. Sin embargo, puede copiar las propiedades que desee modificar del archivo project-info.json
y pegarlas en el archivo de actualización como referencia de 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 archivo de actualización JSON como se describe en Crear un proyecto de compilación (AWS CLI) y guarde los resultados. Cuando termine de modificar el archivo de actualización JSON, ejecute el comando update-project
y transfiera el archivo de actualización JSON.
aws codebuild update-project --cli-input-json file://
<update-project-file>
Si se realiza correctamente, la salida muestra el JSON del proyecto actualizado. 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 (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.