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.
Compilación Batch enAWS CodeBuild
Puede usarAWS CodeBuildpara ejecutar compilaciones simultáneas y coordinadas de un proyecto con compilaciones por lotes.
Temas
Función de seguridad
Las compilaciones Batch introducen un nuevo rol de seguridad en la configuración de lotes. Esta nueva función es necesaria, ya que CodeBuild debe poder llamar alStartBuild
,StopBuild
, yRetryBuild
acciones en su nombre para ejecutar compilaciones como parte de un lote. Los clientes deben utilizar un nuevo rol, y no el mismo rol que usan en su compilación, por dos razones:
-
Dar el rol de compilación
StartBuild
,StopBuild
, yRetryBuild
los permisos permitirían que una sola compilación inicie más compilaciones a través de la especificación de compilación. -
Las compilaciones por lotes de CodeBuild proporcionan restricciones que restringen el número de compilaciones y tipos de cómputo que se pueden utilizar para las compilaciones del lote. Si el rol de compilación tiene estos permisos, es posible que las compilaciones mismas puedan eludir estas restricciones.
Tipos de compilación de procesamiento
CodeBuild admite los siguientes tipos de compilación por lotes:
Tipos de compilación de procesamiento
Gráfico de compilación
Un gráfico de compilación define un conjunto de tareas que dependen de otras tareas del lote.
En el siguiente ejemplo se define un gráfico de compilación que crea una cadena de dependencias.
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
En este ejemplo:
-
build1
se ejecuta primero porque no tiene dependencias. -
build2
tiene una dependencia debuild1
, sobuild2
corre despuésbuild1
completa. -
build3
tiene una dependencia debuild2
, sobuild3
corre despuésbuild2
completa.
Para obtener más información acerca de la sintaxis de la especificación de compilación del gráfico de compilación, consultebatch/build-graph.
Lista de compilación
Una lista de compilación define varias tareas que se ejecutan en paralelo.
En el siguiente ejemplo, define una lista de compilación. Labuild1
ybuild2
las compilaciones se ejecutan en paralelo.
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
Para obtener más información acerca de la sintaxis de la compilación de la lista de compilación, consultebatch/build-list.
Compilar matriz
Una matriz de compilación define tareas con configuraciones diferentes que se ejecutan en paralelo. CodeBuild crea una compilación independiente para cada combinación de configuración posible.
En el ejemplo siguiente se muestra una matriz de compilación con dos archivos buildspec y tres valores para una variable de entorno.
batch: build-matrix: static: ignore-failure: false dynamic: buildspec: - matrix1.yml - matrix2.yml env: variables: MY_VAR: - VALUE1 - VALUE2 - VALUE3
En este ejemplo, CodeBuild crea seis compilaciones:
-
matrix1.yml
por$MY_VAR=VALUE1
-
matrix1.yml
por$MY_VAR=VALUE2
-
matrix1.yml
por$MY_VAR=VALUE3
-
matrix2.yml
por$MY_VAR=VALUE1
-
matrix2.yml
por$MY_VAR=VALUE2
-
matrix2.yml
por$MY_VAR=VALUE3
Cada compilación tendrá la siguiente configuración:
-
ignore-failure
establecido enfalse
-
env/type
establecido enLINUX_CONTAINER
-
env/image
establecido enaws/codebuild/amazonlinux2-x86_64-standard:3.0
-
env/privileged-mode
establecido entrue
Estas compilaciones se ejecutan en paralelo.
Para obtener más información acerca de la sintaxis de la compilación de la matriz de compilación, consultebatch/build-matrix.
Modo de informe por lotes
Si el proveedor de origen de tu proyecto es Bitbucket, GitHub o GitHub Enterprise y tu proyecto está configurado para informar de los estados de compilación al proveedor de origen, puedes seleccionar cómo quieres que se envíen los estados de compilación por lotes al proveedor de origen. Puede seleccionar que los estados se envíen como un único informe de estado agregado para el lote o que se informe individualmente el estado de cada compilación del lote.
Para obtener más información, consulte los siguientes temas:
Más información
Para obtener más información, consulte los siguientes temas: