Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Sie können AWS CodeBuild es verwenden, um gleichzeitige und koordinierte Builds eines Projekts mit Batch-Builds auszuführen.
Rolle „Sicherheit“
Batch-Builds führen eine neue Sicherheitsrolle in der Batch-Konfiguration ein. Diese neue Rolle ist erforderlich, da sie in der Lage sein CodeBuild mussStartBuild
, die RetryBuild
AktionenStopBuild
, und in Ihrem Namen aufzurufen, um Builds als Teil eines Batches auszuführen. Kunden sollten aus zwei Gründen eine neue Rolle und nicht dieselbe Rolle verwenden, die sie in ihrem Build verwenden:
-
Die Zuweisung der Build-Rolle
StartBuild
und derRetryBuild
Berechtigungen würde es einem einzelnen Build ermöglichen, mehrere Builds über die Buildspec zu starten.StopBuild
-
CodeBuild Batch-Builds bieten Einschränkungen, die die Anzahl der Builds und Berechnungstypen einschränken, die für die Builds im Batch verwendet werden können. Wenn die Build-Rolle über diese Berechtigungen verfügt, ist es möglich, dass die Builds selbst diese Einschränkungen umgehen.
Batch-Build-Typen
CodeBuild unterstützt die folgenden Batch-Build-Typen:
Batch-Build-Typen
Diagramm erstellen
Ein Build-Diagramm definiert eine Reihe von Aufgaben, die von anderen Aufgaben im Stapel abhängig sind.
Das folgende Beispiel definiert ein Build-Diagramm, das eine Abhängigkeitskette erstellt.
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 diesem Beispiel:
-
build1
wird zuerst ausgeführt, weil es keine Abhängigkeiten hat. -
build2
hat eine Abhängigkeit vonbuild1
,build2
wird also nachbuild1
Abschluss ausgeführt. -
build3
ist abhängig vonbuild2
,build3
wird also nachbuild2
Abschluss ausgeführt.
Weitere Hinweise zur Buildspec-Syntax von Build Graph finden Sie unter. batch/build-graph
Liste erstellen
Eine Build-Liste definiert eine Reihe von Aufgaben, die parallel ausgeführt werden.
Das folgende Beispiel definiert eine Build-Liste. Die build2
Builds build1
und werden parallel ausgeführt.
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
Weitere Hinweise zur Buildspec-Syntax für die Buildliste finden Sie unter. batch/build-list
Matrix erstellen
Eine Build-Matrix definiert Aufgaben mit unterschiedlichen Konfigurationen, die parallel ausgeführt werden. CodeBuild erstellt für jede mögliche Konfigurationskombination einen separaten Build.
Das folgende Beispiel zeigt eine Buildmatrix mit zwei Buildspec-Dateien und drei Werten für eine Umgebungsvariable.
batch:
build-matrix:
static:
ignore-failure: false
dynamic:
buildspec:
- matrix1.yml
- matrix2.yml
env:
variables:
MY_VAR:
- VALUE1
- VALUE2
- VALUE3
In diesem Beispiel werden sechs Builds CodeBuild erstellt:
-
matrix1.yml
mit$MY_VAR=VALUE1
-
matrix1.yml
mit$MY_VAR=VALUE2
-
matrix1.yml
mit$MY_VAR=VALUE3
-
matrix2.yml
mit$MY_VAR=VALUE1
-
matrix2.yml
mit$MY_VAR=VALUE2
-
matrix2.yml
mit$MY_VAR=VALUE3
Jeder Build hat die folgenden Einstellungen:
-
ignore-failure
eingestellt auffalse
-
env/type
eingestellt aufLINUX_CONTAINER
-
env/image
eingestellt aufaws/codebuild/amazonlinux2-x86_64-standard:4.0
-
env/privileged-mode
eingestellt auftrue
Diese Builds laufen parallel.
Weitere Hinweise zur Buildspec-Syntax der Buildmatrix finden Sie unter. batch/build-matrix
Batch-Berichtsmodus
Wenn der Quellanbieter für dein Projekt Bitbucket oder GitHub Enterprise ist und dein Projekt so konfiguriert ist, dass Build-Status an den Quellanbieter gemeldet werden, kannst du auswählen, wie deine Batch-Build-Status an den Quellanbieter gesendet werden sollen. GitHub Du kannst wählen, ob die Status als ein einziger aggregierter Statusbericht für den Batch gesendet werden sollen oder ob der Status jedes Builds im Batch einzeln gemeldet werden soll.
Weitere Informationen finden Sie unter den folgenden Themen:
Weitere Informationen
Weitere Informationen finden Sie unter den folgenden Themen: