Batch é incorporado AWS CodeBuild - AWS CodeBuild

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Batch é incorporado AWS CodeBuild

Você pode usar AWS CodeBuild para executar compilações simultâneas e coordenadas de um projeto com compilações em lote.

Perfil de segurança

As compilações em lote introduzem um novo perfil de segurança na configuração em lote. Essa nova função é necessária, pois CodeBuild você deve poder chamar as RetryBuild ações StartBuildStopBuild, e em seu nome para executar compilações como parte de um lote. Os clientes devem usar um novo perfil, e não o mesmo perfil que usam na compilação, por dois motivos:

  • Fornecer ao perfil de compilação as permissões StartBuild, StopBuild e RetryBuild que permitem a uma única compilação iniciar mais compilações por meio do buildspec.

  • CodeBuild compilações em lote fornecem restrições que restringem o número de compilações e tipos de computação que podem ser usados para as compilações no lote. Se o perfil de compilação tiver essas permissões, será possível que as próprias compilações ignorem essas restrições.

Tipos de compilação em lote

CodeBuild suporta os seguintes tipos de compilação em lote:

Grafo de compilação

Um grafo de compilação define um conjunto de tarefas que dependem de outras tarefas no lote.

O exemplo a seguir define um grafo de compilação que cria uma cadeia de dependências.

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

Neste exemplo:

  • A build1 é executada primeiro porque não tem dependências.

  • A build2 tem uma dependência em build1, então a build2 é executada após a conclusão da build1.

  • A build3 tem uma dependência em build2, então a build3 é executada após a conclusão da build2.

Para obter mais informações sobre a sintaxe buildspec do grafo de compilação, consulte batch/build-graph.

Lista de compilações

Uma lista de compilações define várias tarefas que são executadas paralelamente.

O exemplo a seguir define uma lista de compilações. As compilações build1 e build2 serão executadas em 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 obter mais informações sobre a sintaxe buildspec da lista de compilações, consulte batch/build-list.

Matriz de compilações

Uma matriz de compilação define tarefas com configurações diferentes que são executadas paralelamente. CodeBuild cria uma compilação separada para cada combinação de configuração possível.

O exemplo a seguir mostra uma matriz de compilações com dois arquivos buildspec e três valores para uma variável de ambiente.

batch: build-matrix: static: ignore-failure: false dynamic: buildspec: - matrix1.yml - matrix2.yml env: variables: MY_VAR: - VALUE1 - VALUE2 - VALUE3

Neste exemplo, CodeBuild cria seis compilações:

  • matrix1.yml com $MY_VAR=VALUE1

  • matrix1.yml com $MY_VAR=VALUE2

  • matrix1.yml com $MY_VAR=VALUE3

  • matrix2.yml com $MY_VAR=VALUE1

  • matrix2.yml com $MY_VAR=VALUE2

  • matrix2.yml com $MY_VAR=VALUE3

Cada compilação terá as seguintes configurações:

  • ignore-failure definido como false

  • env/type definido como LINUX_CONTAINER

  • env/image definido como aws/codebuild/amazonlinux2-x86_64-standard:4.0

  • env/privileged-mode definido como true

Essas compilações são executadas em paralelo.

Para obter mais informações sobre a sintaxe buildspec da matriz de compilações, consulte batch/build-matrix.

Modo de relatório em lote

Se o provedor de origem do seu projeto for Bitbucket ou GitHub Enterprise e seu projeto estiver configurado para relatar os status de criação ao provedor de origem, você poderá selecionar como deseja que os status de criação em lote sejam enviados ao provedor de origem. GitHub É possível optar por enviar os status como um único relatório de status agregado para o lote ou ter o status de cada compilação no lote informado individualmente.

Para obter mais informações, consulte os tópicos a seguir.

Mais informações

Para obter mais informações, consulte os tópicos a seguir.