Stapel-BuildsAWS CodeBuild - AWS CodeBuild

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.

Stapel-BuildsAWS CodeBuild

Sie könnenAWS CodeBuildum gleichzeitige und koordinierte Builds eines Projekts mit Batch-Builds auszuführen.

Sicherheitsrolle

Batch-Builds führen eine neue Sicherheitsrolle in der Batch-Konfiguration ein. Diese neue Rolle ist erforderlich, da CodeBuild in der Lage sein mussStartBuild,StopBuild, undRetryBuildAktionen in Ihrem Namen, um Builds als Teil eines Stapels auszuführen. Kunden sollten aus zwei Gründen eine neue Rolle und nicht die gleiche Rolle verwenden, die sie in ihrem Build verwenden:

  • Die Build-Rolle gebenStartBuild,StopBuild, undRetryBuildBerechtigungen würden es einem einzelnen Build ermöglichen, mehr Builds über die Buildspec zu starten.

  • CodeBuild-Batch-Builds bieten Einschränkungen, die die Anzahl der Builds und Computing-Typen einschränken, die für die Builds im Batch verwendet werden können. Wenn die Build-Rolle über diese Berechtigungen verfügt, können die Builds selbst diese Einschränkungen umgehen.

StapelBuild-Typen

CodeBuild unterstützt die folgenden Batch-Build-Typen:

Build-Diagramm

Ein Build-Diagramm definiert eine Reihe von Aufgaben, die Abhängigkeiten von anderen Aufgaben im Stapel haben.

Im folgenden Beispiel wird ein Build-Diagramm definiert, 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:

  • build1läuft zuerst, weil es keine Abhängigkeiten hat.

  • build2hat eine Abhängigkeit vonbuild1, sobuild2läuft danachbuild1Schließt ab.

  • build3hat eine Abhängigkeit vonbuild2, sobuild3läuft danachbuild2Schließt ab.

Weitere Informationen über Build-Graph-Buildspec Syntax finden Sie unterbatch/build-graphaus.

Liste erstellen

Eine Build-Liste definiert eine Reihe von Aufgaben, die parallel ausgeführt werden.

Im folgenden Beispiel definiert eine Build-Liste. Diebuild1undbuild2Builds 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 Informationen über Buildspec Syntax finden Sie unterbatch/build-listaus.

Build-Matrix

Eine Build-Matrix definiert Aufgaben mit verschiedenen Konfigurationen, die parallel ausgeführt werden. CodeBuild erstellt für jede mögliche Konfigurationskombination einen separaten Build.

Das folgende Beispiel zeigt eine Build-Matrix 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 erstellt CodeBuild sechs Builds:

  • 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 folgende Einstellungen:

  • ignore-failureSetzen Siefalse

  • env/typeSetzen SieLINUX_CONTAINER

  • env/imageSetzen Sieaws/codebuild/amazonlinux2-x86_64-standard:3.0

  • env/privileged-modeSetzen Sietrue

Diese Builds werden parallel ausgeführt.

Weitere Informationen über Build-Matrix Buildspec Syntax finden Sie unterbatch/build-matrixaus.

Batch-Berichtsmodus

Wenn der Quellanbieter für Ihr Projekt Bitbucket, GitHub oder GitHub Enterprise ist und Ihr Projekt so konfiguriert ist, dass es Build-Status an den Quellanbieter meldet, können Sie auswählen, wie Ihre Batch-Build-Status an den Quellanbieter gesendet werden sollen. Sie können wählen, ob die Status als einzelner aggregierter Statusbericht für die Charge gesendet werden sollen, oder dass der Status jedes Builds im Stapel einzeln gemeldet wird.

Weitere Informationen finden Sie unter den folgenden Themen:

Weitere Informationen

Weitere Informationen finden Sie unter den folgenden Themen: