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 StartBuild
StopBuild
, 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
eRetryBuild
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:
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 embuild1
, então abuild2
é executada após a conclusão dabuild1
. -
A
build3
tem uma dependência embuild2
, então abuild3
é executada após a conclusão dabuild2
.
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 comofalse
-
env/type
definido comoLINUX_CONTAINER
-
env/image
definido comoaws/codebuild/amazonlinux2-x86_64-standard:4.0
-
env/privileged-mode
definido comotrue
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.