AWS CodeBuild - AWS CodePipeline

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.

AWS CodeBuild

Ermöglicht die Ausführung von Builds und Tests als Teil Ihrer Pipeline. Wenn Sie eine CodeBuild Build- oder Testaktion ausführen, werden die in der Build-Spezifikation angegebenen Befehle in einem CodeBuild Container ausgeführt. Alle Artefakte, die als Eingabeartefakte für eine CodeBuild Aktion angegeben sind, sind innerhalb des Containers verfügbar, der die Befehle ausführt. CodeBuild kann entweder eine Build- oder eine Testaktion bereitstellen. Weitere Informationen finden Sie im AWS CodeBuild-Benutzerhandbuch.

Wenn Sie den CodePipeline Assistenten in der Konsole verwenden, um ein Build-Projekt zu erstellen, zeigt das CodeBuild Build-Projekt an, welcher Quellanbieter es ist CodePipeline. Wenn Sie ein Build-Projekt in der CodeBuild Konsole erstellen, können Sie es nicht CodePipeline als Quellanbieter angeben. Wenn Sie jedoch die Build-Aktion zu Ihrer Pipeline hinzufügen, wird die Quelle in der CodeBuild Konsole angepasst. Weitere Informationen finden Sie unter ProjectSource in der AWS CodeBuild-API-Referenz.

Aktionstyp

  • Kategorie: Build oder Test

  • Eigentümer: AWS

  • Anbieter: CodeBuild

  • Version: 1

Konfigurationsparameter

ProjectName

Erforderlich: Ja

ProjectNameist der Name des Build-Projekts in CodeBuild.

PrimarySource

Required: Conditional

Der Wert desPrimarySource Parameters muss der Name eines der Eingabeartefakte für die Aktion sein. CodeBuild sucht nach der Build-Spezifikationsdatei und führt die Build-Spezifikationsbefehle in dem Verzeichnis aus, das die entpackte Version dieses Artefakts enthält.

Dieser Parameter ist erforderlich, wenn für eine CodeBuild -Aktion mehrere Eingabeartefakte angegeben werden. Wenn nur ein Quellartefakt für die Aktion vorhanden ist, verwendet das PrimarySource-Artefakt standardmäßig dieses Artefakt.

BatchEnabled

Required: No

Der boolesche Wert desBatchEnabled Parameters ermöglicht es der Aktion, mehrere Builds in derselben Build-Ausführung auszuführen.

Wenn diese Option aktiviert ist, ist dieCombineArtifacts Option verfügbar.

Pipeline-Beispiele mit aktivierten Batch-Builds finden Sie unter CodePipeline Integration mit CodeBuild und Batch-Builds.

CombineArtifacts

Required: No

Der boolesche Wert desCombineArtifacts Parameters kombiniert alle Build-Artefakte aus einem Batch-Build in einer einzigen Artefaktdatei für die Build-Aktion.

Um diese Option verwenden zu können, muss derBatchEnabled Parameter aktiviert sein.

EnvironmentVariables

Required: No

Der Wert dieses Parameters wird verwendet, um Umgebungsvariablen für die CodeBuild -Aktion in Ihrer Pipeline festzulegen. Der Wert für den Parameter EnvironmentVariables hat das Format eines JSON-Arrays von Umgebungsvariablenobjekten. Einen Beispielparameter finden Sie unter Aktionsdeklaration (CodeBuild-Beispiel).

Jedes Objekt besteht aus drei Teilen. Alle Teile sind Zeichenfolgen:

  • name: Der Name oder Schlüssel der Umgebungsvariable.

  • value: Der Wert der Umgebungsvariable. Wenn Sie denSECRETS_MANAGER TypPARAMETER_STORE oder verwenden, muss dieser Wert der Name eines Parameters sein, den Sie bereits imAWS Systems Manager Parameter Store gespeichert haben, oder eines geheimen Parameters, das Sie bereits inAWS Secrets Manager gespeichert haben.

    Anmerkung

    Wir raten dringend von der Verwendung von Umgebungsvariablen zum Speichern sensibler Werte, insbesondere vonAWS Anmeldeinformationen, ab. Wenn Sie die CodeBuild Konsole oder dieAWS CLI verwenden, werden Umgebungsvariablen im Klartext angezeigt. Wenn es sich um vertrauliche Werte handelt, sollten Sie stattdessen den Typ SECRETS_MANAGER verwenden.

  • type: (Optional) Der Typ der Umgebungsvariablen. Gültige Werte sind PARAMETER_STORE, SECRETS_MANAGER oder PLAINTEXT. Wenn keine Angabe gemacht wird, gilt der Standardwert PLAINTEXT.

Anmerkung

Wenn Sie die Konfigurationnamevalue, undtype für Ihre Umgebungsvariablen eingeben, insbesondere wenn die Umgebungsvariable die Syntax der CodePipeline Ausgabevariablen enthält, überschreiten Sie nicht die Grenze von 1000 Zeichen für das Wertefeld der Konfiguration. Ein Validierungsfehler wird zurückgegeben, wenn dieser Grenzwert überschritten wird.

Weitere Informationen finden Sie EnvironmentVariableunterAWS CodeBuild API-Referenz. Eine CodeBuild Beispielaktion mit einer Umgebungsvariablen, die in den GitHub Zweignamen aufgelöst wird, finden Sie unterBeispiel: Verwenden Sie eine BranchName Variable mit CodeBuild Umgebungsvariablen.

Input artifacts (Eingabeartefakte)

  • Anzahl der Artefakte:1 to 5

  • Beschreibung: CodeBuild sucht nach der Build-Spezifikationsdatei und führt die Build-Spezifikationsbefehle aus dem Verzeichnis des primären Quellartefakts aus. Wenn mehr als eine Eingabequelle für die CodeBuild Aktion angegeben ist, muss dieses Artefakt mithilfe desPrimarySource Aktionskonfigurationsparameters in festgelegt werden CodePipeline.

    Jedes Eingabeartefakt wird in ein eigenes Verzeichnis extrahiert, dessen Speicherorte in Umgebungsvariablen gespeichert sind. Das Verzeichnis für das primäre Quellartefakt wird mit $CODEBUILD_SRC_DIR zur Verfügung gestellt. Die Verzeichnisse für alle anderen Eingabeartefakte werden mit $CODEBUILD_SRC_DIR_yourInputArtifactName zur Verfügung gestellt.

    Anmerkung

    Das in Ihrem CodeBuild Projekt konfigurierte Artefakt wird zum Eingabeartefakt, das von der CodeBuild Aktion in Ihrer Pipeline verwendet wird.

Ausgabeartefakte

  • Anzahl der Artefakte:0 to 5

  • Beschreibung: Diese können verwendet werden, um die in der CodeBuild Build-Spezifikationsdatei definierten Artefakte für nachfolgende Aktionen in der Pipeline verfügbar zu machen. Wenn nur ein Ausgabeartefakt definiert ist, kann dieses Artefakt direkt im artifacts-Abschnitt der Build-Spezifikationsdatei definiert werden. Wenn mehr als ein Ausgabe-Artefakt angegeben ist, müssen in der Buildspezifikationsdatei alle Artefakte, auf die verwiesen wird, als sekundäre Artefakte definiert werden. Die Namen der Ausgabeartefakte in CodePipeline müssen mit den Artefakt-IDs in der Build-Spezifikationsdatei übereinstimmen.

    Anmerkung

    Das in Ihrem CodeBuild Projekt konfigurierte Artefakt wird zum CodePipeline Eingabeartefakt in Ihrer Pipeline-Aktion.

    Wenn derCombineArtifacts Parameter für Batch-Builds ausgewählt ist, enthält der Speicherort des Ausgabe-Artefakts die kombinierten Artefakte aus mehreren Builds, die in derselben Ausführung ausgeführt wurden.

Ausgabevariablen

Diese Aktion erzeugt als Variablen alle Umgebungsvariablen, die als Teil des Builds exportiert wurden. Weitere Informationen zum Exportieren von Umgebungsvariablen finden Sie EnvironmentVariableim AWS CodeBuildAPI-Handbuch.

Weitere Informationen zur Verwendung von CodeBuild Umgebungsvariablen in CodePipeline finden Sie in den Beispielen inCodeBuild Aktionsausgabevariablen. Eine Liste der Umgebungsvariablen, die Sie verwenden können CodeBuild, finden Sie im AWS CodeBuildBenutzerhandbuch unter Umgebungsvariablen in Build-Umgebungen.

Aktionsdeklaration (CodeBuild-Beispiel)

YAML
Name: Build Actions: - Name: PackageExport ActionTypeId: Category: Build Owner: AWS Provider: CodeBuild Version: '1' RunOrder: 1 Configuration: BatchEnabled: 'true' CombineArtifacts: 'true' ProjectName: my-build-project PrimarySource: MyApplicationSource1 EnvironmentVariables: '[{"name":"TEST_VARIABLE","value":"TEST_VALUE","type":"PLAINTEXT"},{"name":"ParamStoreTest","value":"PARAMETER_NAME","type":"PARAMETER_STORE"}]' OutputArtifacts: - Name: MyPipeline-BuildArtifact InputArtifacts: - Name: MyApplicationSource1 - Name: MyApplicationSource2
JSON
{ "Name": "Build", "Actions": [ { "Name": "PackageExport", "ActionTypeId": { "Category": "Build", "Owner": "AWS", "Provider": "CodeBuild", "Version": "1" }, "RunOrder": 1, "Configuration": { "BatchEnabled": "true", "CombineArtifacts": "true", "ProjectName": "my-build-project", "PrimarySource": "MyApplicationSource1", "EnvironmentVariables": "[{\"name\":\"TEST_VARIABLE\",\"value\":\"TEST_VALUE\",\"type\":\"PLAINTEXT\"},{\"name\":\"ParamStoreTest\",\"value\":\"PARAMETER_NAME\",\"type\":\"PARAMETER_STORE\"}]" }, "OutputArtifacts": [ { "Name": "MyPipeline-BuildArtifact" } ], "InputArtifacts": [ { "Name": "MyApplicationSource1" }, { "Name": "MyApplicationSource2" } ] } ] }

Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.