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.
Este tema contiene la referencia de las especificaciones de compilación para las propiedades de compilación por lotes.
batch
Mapeo opcional. Configuración de compilación por lotes para el proyecto.
- batch/fast-fail
-
Opcional. Especifica el comportamiento de la compilación por lotes cuando una o más tareas de compilación fallan.
false
-
Valor predeterminado. Se completarán todas las compilaciones en ejecución.
true
-
Todas las compilaciones en ejecución se detendrán cuando falle una de las tareas de compilación.
De forma predeterminada, todas las tareas de compilación por lotes se ejecutan con la configuración de compilación, como env
y phases
, especificada en el archivo de especificaciones de compilación. Es posible anular la configuración de compilación predeterminada especificando valores distintos de env
o un archivo de especificaciones de compilación distinto en el parámetro batch/
.<batch-type>
/buildspec
El contenido de la propiedad batch
varía en función del tipo de compilación por lotes que se especifique. Los tipos posibles de compilación por lotes son:
batch/build-graph
Define un grafo de compilación. Un grafo de compilación define un conjunto de tareas que dependen de otras tareas del lote. Para obtener más información, consulte Grafo de compilación.
Este elemento contiene una matriz de tareas de compilación. Cada tarea de compilación contiene las propiedades siguientes.
- identifier
-
Obligatorio. Identificador de la tarea.
- buildspec
Opcional. Ruta y nombre de archivo del archivo de especificaciones de compilación que se debe utilizar para esta tarea. Si no se especifica este parámetro, se utiliza el archivo de especificación de compilación actual.
- debug-session
-
Opcional. Valor booleano que indica si la depuración de sesión está habilitada para esta compilación por lotes. Para obtener más información acerca de la depuración de sesión, consulte Ver una compilación en ejecución en Session Manager.
false
-
La depuración de sesión está desactivada.
true
-
La depuración de sesión está activada.
- depend-on
-
Opcional. Conjunto de identificadores de tareas de los que depende esta tarea. No se ejecutará esta tarea hasta que se hayan completado.
- env
-
Opcional. Anulaciones del entorno de compilación para la tarea. Esto puede contener las propiedades siguientes:
- compute-type
-
Identificador del tipo de computación que se va a utilizar para la tarea. Consulte computeType en Modos y tipos de computación del entorno de compilación para ver los valores posibles.
- flota
-
El identificador de la flota que se va a utilizar para la tarea. Para obtener más información, consulta Ejecución de compilaciones en flotas de capacidad reservada.
- image
-
Identificador de la imagen que se va a utilizar para la tarea. Consulte el identificador de imagen en Imágenes de Docker proporcionadas por CodeBuild para ver los valores posibles.
- privileged-mode
-
Valor booleano que indica si se debe ejecutar el daemon de Docker dentro de un contenedor de Docker. Se establece en
true
solo si el proyecto de compilación se utiliza para compilar imágenes de Docker. De lo contrario, se produce un error las compilaciones que intentan interactuar con el daemon de Docker. El ajuste predeterminado esfalse
. - type
-
Identificador del tipo de entorno que se va a utilizar para la tarea. Consulte Tipo de entorno en Modos y tipos de computación del entorno de compilación para ver los valores posibles.
- variables
-
Variables de entorno que estarán presentes en el entorno de compilación. Para obtener más información, consulta env/variables.
nota
Tenga en cuenta que el tipo de cálculo y la flota no se pueden proporcionar en el mismo identificador de una sola construcción.
- ignore-failure
-
Opcional. Valor booleano que indica si se puede ignorar un error en la tarea de compilación.
false
-
Valor predeterminado. Si esta tarea de compilación falla, se considerará fallida la compilación por lotes.
true
-
Si esta tarea de compilación falla, todavía es posible terminar la compilación por lotes de forma satisfactoria.
A continuación se muestra un ejemplo de una entrada de especificaciones de compilación en un grafo de compilación:
batch:
fast-fail: false
build-graph:
- identifier: build1
env:
variables:
BUILD_ID: build1
ignore-failure: false
- identifier: build2
buildspec: build2.yml
env:
variables:
BUILD_ID: build2
depend-on:
- build1
- identifier: build3
env:
variables:
BUILD_ID: build3
depend-on:
- build2
- identifier: build4
env:
compute-type: ARM_LAMBDA_1GB
- identifier: build5
env:
fleet: fleet_name
batch/build-list
Define una lista de compilación. Una lista de compilación sirve para definir una serie de tareas que se ejecutan en paralelo. Para obtener más información, consulte Lista de compilación.
Este elemento contiene una matriz de tareas de compilación. Cada tarea de compilación contiene las propiedades siguientes.
- identifier
-
Obligatorio. Identificador de la tarea.
- buildspec
Opcional. Ruta y nombre de archivo del archivo de especificaciones de compilación que se debe utilizar para esta tarea. Si no se especifica este parámetro, se utiliza el archivo de especificación de compilación actual.
- debug-session
-
Opcional. Valor booleano que indica si la depuración de sesión está habilitada para esta compilación por lotes. Para obtener más información acerca de la depuración de sesión, consulte Ver una compilación en ejecución en Session Manager.
false
-
La depuración de sesión está desactivada.
true
-
La depuración de sesión está activada.
- env
-
Opcional. Anulaciones del entorno de compilación para la tarea. Esto puede contener las propiedades siguientes:
- compute-type
-
Identificador del tipo de computación que se va a utilizar para la tarea. Consulte computeType en Modos y tipos de computación del entorno de compilación para ver los valores posibles.
- flota
-
El identificador de la flota que se va a utilizar para la tarea. Para obtener más información, consulta Ejecución de compilaciones en flotas de capacidad reservada.
- image
-
Identificador de la imagen que se va a utilizar para la tarea. Consulte el identificador de imagen en Imágenes de Docker proporcionadas por CodeBuild para ver los valores posibles.
- privileged-mode
-
Valor booleano que indica si se debe ejecutar el daemon de Docker dentro de un contenedor de Docker. Se establece en
true
solo si el proyecto de compilación se utiliza para compilar imágenes de Docker. De lo contrario, se produce un error las compilaciones que intentan interactuar con el daemon de Docker. El ajuste predeterminado esfalse
. - type
-
Identificador del tipo de entorno que se va a utilizar para la tarea. Consulte Tipo de entorno en Modos y tipos de computación del entorno de compilación para ver los valores posibles.
- variables
-
Variables de entorno que estarán presentes en el entorno de compilación. Para obtener más información, consulta env/variables.
nota
Tenga en cuenta que el tipo de cálculo y la flota no se pueden proporcionar en el mismo identificador de una sola construcción.
- ignore-failure
-
Opcional. Valor booleano que indica si se puede ignorar un error en la tarea de compilación.
false
-
Valor predeterminado. Si esta tarea de compilación falla, se considerará fallida la compilación por lotes.
true
-
Si esta tarea de compilación falla, todavía es posible terminar la compilación por lotes de forma satisfactoria.
A continuación, se muestra una entrada de especificaciones de compilación de una lista de compilación:
batch:
fast-fail: false
build-list:
- identifier: build1
env:
variables:
BUILD_ID: build1
ignore-failure: false
- identifier: build2
buildspec: build2.yml
env:
variables:
BUILD_ID: build2
ignore-failure: true
- identifier: build3
env:
compute-type: ARM_LAMBDA_1GB
- identifier: build4
env:
fleet: fleet_name
- identifier: build5
env:
compute-type: GENERAL_LINUX_XLAGRE
batch/build-matrix
Define una matriz de compilación. Una matriz de compilación define las tareas con diferentes configuraciones que se ejecutan en paralelo. CodeBuild crea una compilación independiente para cada combinación de configuraciones posible. Para obtener más información, consulte Matriz de compilación.
- static
-
Las propiedades estáticas se aplican a todas las tareas de compilación.
- ignore-failure
-
Opcional. Valor booleano que indica si se puede ignorar un error en la tarea de compilación.
false
-
Valor predeterminado. Si esta tarea de compilación falla, se considerará fallida la compilación por lotes.
true
-
Si esta tarea de compilación falla, todavía es posible terminar la compilación por lotes de forma satisfactoria.
- env
-
Opcional. El entorno de compilación se anula en todas las tareas.
- privileged-mode
-
Valor booleano que indica si se debe ejecutar el daemon de Docker dentro de un contenedor de Docker. Se establece en
true
solo si el proyecto de compilación se utiliza para compilar imágenes de Docker. De lo contrario, se produce un error las compilaciones que intentan interactuar con el daemon de Docker. El ajuste predeterminado esfalse
. - type
-
Identificador del tipo de entorno que se va a utilizar para la tarea. Consulte Tipo de entorno en Modos y tipos de computación del entorno de compilación para ver los valores posibles.
- dynamic
-
Las propiedades dinámicas definen la matriz de compilación.
- buildspec
-
Opcional. Matriz que contiene la ruta y los nombres de los archivos de especificaciones de compilación que se van a utilizar en estas tareas. Si no se especifica este parámetro, se utiliza el archivo de especificación de compilación actual.
- env
-
Opcional. El entorno de compilación anula estas tareas.
- compute-type
-
Matriz que contiene los identificadores de los tipos de computación que se van a utilizar en estas tareas. Consulte computeType en Modos y tipos de computación del entorno de compilación para ver los valores posibles.
- image
-
Matriz que contiene los identificadores de las imágenes que se utilizarán en estas tareas. Consulte el identificador de imagen en Imágenes de Docker proporcionadas por CodeBuild para ver los valores posibles.
- variables
-
Matriz que contiene las variables de entorno que estarán presentes en los entornos de compilación para estas tareas. Para obtener más información, consulta env/variables.
A continuación, se muestra un ejemplo de entrada de especificaciones de compilación de una matriz de compilación:
batch:
build-matrix:
static:
ignore-failure: false
dynamic:
buildspec:
- matrix1.yml
- matrix2.yml
env:
variables:
MY_VAR:
- VALUE1
- VALUE2
- VALUE3
Para obtener más información, consulte Matriz de compilación.
batch/build-fanout
Define un abanico de construcción. Un abanico de compilaciones se utiliza para definir una tarea que se divide en varias compilaciones que se ejecutan en paralelo. Para obtener más información, consulte Ejecute pruebas paralelas en compilaciones por lotes.
Este elemento contiene una tarea de compilación que se puede dividir en varias compilaciones. La build-fanout
sección contiene las siguientes propiedades.
- paralelismo
-
Obligatorio. El número de compilaciones que ejecutarán las pruebas en paralelo.
- ignore-failure
-
Opcional. Un valor booleano que indica si se puede ignorar un error en alguna de las tareas de creación del panel de distribución. Este valor de ignore-failure se aplicará a todas las compilaciones de fanout.
- false
-
Valor predeterminado. Si se produce un error en alguna tarea de creación de un fanout, se producirá un error en la compilación por lotes.
- true
-
Si alguna tarea de construcción de un abanico falla, la construcción por lotes aún se puede realizar correctamente.
A continuación, se muestra un ejemplo de una entrada buildspec de build fanout:
version: 0.2
batch:
fast-fail: false
build-fanout:
parallelism: 5
ignore-failure: false
phases:
install:
commands:
- npm install
build:
commands:
- mkdir -p test-results
- cd test-results
- |
codebuild-tests-run \
--test-command 'npx jest --runInBand --coverage' \
--files-search "codebuild-glob-search '**/test/**/*.test.js'" \
--sharding-strategy 'equal-distribution'
Para obtener más información, consulte Construye un fanout y Utilice el comando codebuild-tests-run CLI.