Esegui le build in batch - AWS CodeBuild

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esegui le build in batch

Puoi utilizzarlo AWS CodeBuild per eseguire build simultanee e coordinate di un progetto con build in batch.

Ruolo di sicurezza

Le build batch introducono un nuovo ruolo di sicurezza nella configurazione batch. Questo nuovo ruolo è obbligatorio in quanto è CodeBuild necessario poter richiamare StartBuildStopBuild, e RetryBuild le azioni per conto dell'utente per eseguire le build come parte di un batch. I clienti devono utilizzare un nuovo ruolo e non lo stesso ruolo utilizzato nella build, per due motivi:

  • L'assegnazione del ruolo StartBuild di build e RetryBuild delle autorizzazioni consentirebbe a una singola build di avviare più build tramite buildspec. StopBuild

  • CodeBuild le build in batch forniscono restrizioni che limitano il numero di build e i tipi di calcolo che possono essere utilizzati per le build del batch. Se il ruolo di build dispone di queste autorizzazioni, è possibile che le build stesse possano aggirare queste restrizioni.

Tipi di build in batch

CodeBuild supporta i seguenti tipi di build in batch:

Costruisci un grafico

Un grafico di compilazione definisce un insieme di attività che dipendono da altre attività del batch.

L'esempio seguente definisce un grafico di compilazione che crea una catena di dipendenze.

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

In questo esempio:

  • build1viene eseguito per primo perché non ha dipendenze.

  • build2ha una dipendenza dabuild1, quindi build2 viene eseguito dopo build1 il completamento.

  • build3dipende dabuild2, quindi build3 viene eseguito dopo il completamento. build2

Per ulteriori informazioni sulla sintassi build graph buildspec, vedi. batch/build-graph

Crea un elenco

Un elenco di build definisce una serie di attività eseguite in parallelo.

L'esempio seguente definisce un elenco di build. Le build2 build build1 and verranno eseguite in parallelo.

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

Per ulteriori informazioni sulla sintassi buildspec della lista di compilazione, consulta. batch/build-list

Costruisci una matrice

Una matrice di compilazione definisce le attività con diverse configurazioni eseguite in parallelo. CodeBuild crea una build separata per ogni possibile combinazione di configurazione.

L'esempio seguente mostra una matrice di compilazione con due file buildspec e tre valori per una variabile di ambiente.

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

In questo esempio, CodeBuild crea sei build:

  • matrix1.yml con $MY_VAR=VALUE1

  • matrix1.yml con $MY_VAR=VALUE2

  • matrix1.yml con $MY_VAR=VALUE3

  • matrix2.yml con $MY_VAR=VALUE1

  • matrix2.yml con $MY_VAR=VALUE2

  • matrix2.yml con $MY_VAR=VALUE3

Ogni build avrà le seguenti impostazioni:

  • ignore-failureimpostato su false

  • env/typeimpostato su LINUX_CONTAINER

  • env/imageimpostato su aws/codebuild/amazonlinux2-x86_64-standard:4.0

  • env/privileged-modeimpostato su true

Queste build vengono eseguite in parallelo.

Per ulteriori informazioni sulla sintassi buildspec della matrice di compilazione, vedere. batch/build-matrix

Modalità report Batch

Se il provider di origine del progetto è Bitbucket o GitHub Enterprise e il progetto è configurato per riportare gli stati di compilazione al fornitore di origine, puoi selezionare il modo in cui desideri che gli stati della compilazione in batch vengano inviati al provider di origine. GitHub Puoi scegliere di inviare gli stati come un unico rapporto di stato aggregato per il batch o di riportare singolarmente lo stato di ogni build del batch.

Per ulteriori informazioni, consulta i seguenti argomenti:

Ulteriori informazioni

Per ulteriori informazioni, consulta i seguenti argomenti: