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 Aktionsreferenz erstellen und testen
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 Buildspec angegebenen Befehle in einem Container ausgeführt. CodeBuild Alle Artefakte, die als Eingabeartefakte für eine CodeBuild Aktion angegeben sind, sind innerhalb des Containers verfügbar, in dem die Befehle ausgeführt werden. 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, wird im CodeBuild Build-Projekt angezeigt, dass der Quellanbieter lautet CodePipeline. Wenn Sie ein Build-Projekt in der CodeBuild Konsole erstellen, können Sie es nicht CodePipeline als Quellanbieter angeben, aber wenn Sie 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.
Themen
Aktionstyp
-
Kategorie:
BuildoderTest -
Eigentümer:
AWS -
Anbieter:
CodeBuild -
Version:
1
Konfigurationsparameter
- ProjectName
-
Erforderlich: Ja
ProjectNameist der Name des Build-Projekts in CodeBuild. - PrimarySource
-
Required: Conditional
Der Wert des
PrimarySourceParameters muss der Name eines der Eingabeartefakte der Aktion sein. CodeBuild sucht nach der Buildspec-Datei und führt die Buildspec-Befehle 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
-
Erforderlich: Nein
Der boolesche Wert des
BatchEnabledParameters ermöglicht es der Aktion, mehrere Builds in derselben Build-Ausführung auszuführen.Wenn diese Option aktiviert ist, ist die
CombineArtifactsOption verfügbar.Pipeline-Beispiele mit aktivierten Batch-Builds finden Sie unter CodePipeline Integration mit CodeBuild und Batch-Builds.
- BuildspecOverride
-
Erforderlich: Nein
Eine Inline-Buildspec-Definition oder Buildspec-Dateideklaration, die die zuletzt im Build-Projekt definierte Definition außer Kraft setzt, und zwar nur für diesen Build. Die im Projekt definierte Buildspec wird nicht geändert.
Wenn dieser Wert festgelegt ist, kann er einer der folgenden sein:
-
Eine Inline-Buildspec-Definition. Weitere Informationen finden Sie in der Syntaxreferenz unter Buildspec-Syntax.
-
Der Pfad zu einer alternativen Buildspec-Datei relativ zum Wert der integrierten
CODEBUILD_SRC_DIRUmgebungsvariablen oder zum Pfad zu einem S3-Bucket. Der Bucket muss sich im selben AWS-Region wie das Build-Projekt befinden. Geben Sie die buildspec-Datei mit ihrem ARN an (z. B.arn:aws:s3:::my-codebuild-sample2/buildspec.yml). Wenn dieser Wert nicht angegeben oder auf eine leere Zeichenfolge gesetzt ist, muss der Quellcode eine Buildspec-Datei in seinem Stammverzeichnis enthalten. Weitere Informationen zum Hinzufügen eines Pfads finden Sie unter Buildspec-Dateiname und Speicherort.
Anmerkung
Da Sie mit dieser Eigenschaft die Build-Befehle ändern können, die im Container ausgeführt werden, sollten Sie beachten, dass ein IAM-Principal, der diese API aufrufen und diesen Parameter festlegen kann, die Standardeinstellungen außer Kraft setzen kann. Darüber hinaus empfehlen wir Ihnen, einen vertrauenswürdigen Buildspec-Speicherort wie eine Datei in Ihrem Quell-Repository oder einem Amazon S3-Bucket zu verwenden.
-
- CombineArtifacts
-
Erforderlich: Nein
Der boolesche Wert des
CombineArtifactsParameters 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 der
BatchEnabledParameter aktiviert sein. - EnvironmentVariables
-
Erforderlich: Nein
Der Wert dieses Parameters wird verwendet, um Umgebungsvariablen für die CodeBuild -Aktion in Ihrer Pipeline festzulegen. Der Wert für den Parameter
EnvironmentVariableshat das Format eines JSON-Arrays von Umgebungsvariablenobjekten. Einen Beispielparameter finden Sie unter Deklaration einer Aktion (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_MANAGERTypPARAMETER_STOREoder verwenden, muss es sich bei diesem Wert um den Namen eines Parameters handeln, den Sie bereits im AWS Systems Manager Parameter Store gespeichert haben, bzw. um einen geheimen Schlüssel, den Sie bereits in AWS Secrets Manager gespeichert haben.Anmerkung
Wir raten dringend davon ab, Umgebungsvariablen zum Speichern vertraulicher Werte, insbesondere AWS Anmeldeinformationen, zu verwenden. Wenn Sie die CodeBuild Konsole oder AWS CLI verwenden, werden Umgebungsvariablen im Klartext angezeigt. Wenn es sich um vertrauliche Werte handelt, sollten Sie stattdessen den Typ
SECRETS_MANAGERverwenden. -
type: (Optional) Der Typ der Umgebungsvariablen. Gültige Werte sindPARAMETER_STORE,SECRETS_MANAGERoderPLAINTEXT. Wenn keine Angabe gemacht wird, gilt der StandardwertPLAINTEXT.
Anmerkung
Wenn Sie die Konfiguration
namevalue, undtypefür Ihre Umgebungsvariablen eingeben, insbesondere wenn die Umgebungsvariable die Syntax der CodePipeline Ausgabevariablen enthält, überschreiten Sie nicht die 1000-Zeichen-Grenze für das Wertefeld der Konfiguration. Ein Validierungsfehler wird zurückgegeben, wenn dieser Grenzwert überschritten wird.Weitere Informationen finden Sie EnvironmentVariable in der AWS CodeBuild API-Referenz. Ein Beispiel für eine CodeBuild Aktion mit einer Umgebungsvariablen, die in den GitHub Branch-Namen aufgelöst wird, finden Sie unterBeispiel: Verwenden Sie eine BranchName Variable mit CodeBuild Umgebungsvariablen.
-
- ServiceRoleArnOverride
-
Erforderlich: Nein
Ein IAM-Rollen-ARN, der als Servicerolle für Builds CodeBuild verwendet wird, die durch diese Aktion ausgelöst werden. Er überschreibt die im Projekt konfigurierte Standard-Servicerolle. CodeBuild Wenn das CodeBuild Projekt nicht vorhanden ist, verwendet es seine Standard-Servicerolle.
Die angegebene Rolle muss über eine Vertrauensrichtlinie verfügen, die es dem
codebuild.amazonaws.com.rproxy.goskope.comDienst ermöglicht, sie zu übernehmen. Sowohl die Identität, die zum Erstellen oder Aktualisieren der Pipeline verwendet wurde, als auch die Pipeline-Servicerolle müssen über dieiam:PassRoleBerechtigung für die angegebene Rolle verfügen. Eine Beispielrichtlinie finden Sie unter Berechtigungen für Servicerollen: CodeBuild Aktion.Aus Sicherheitsgründen empfehlen wir, wenn ein CodeBuild Projekt von mehreren Pipelines gemeinsam genutzt wird, für jede Pipeline eine bereichsspezifische Rolle anzugeben, um dem Prinzip der geringsten Rechte zu folgen. Für Pipelines, die CodeConnections Quellaktionen verwenden, finden Sie unter ein Beispiel Füge CodeBuild GitClone Berechtigungen für Verbindungen zu Bitbucket, Enterprise Server oder hinzu GitHub GitHub GitLab.com für die Festlegung des Geltungsbereichs der Verbindungsberechtigungen der Rolle zu einem bestimmten Repository.
Anmerkung
Die Rolle muss sich im selben AWS Konto wie das Projekt befinden. CodeBuild
Input artifacts (Eingabeartefakte)
-
Anzahl der Artefakte:
1 to 5 -
Beschreibung: CodeBuild sucht nach der Buildspec-Datei und führt die Buildspec-Befehle aus dem Verzeichnis des primären Quellartefakts aus. Wenn entweder eine einzelne Eingabequelle oder mehr als eine Eingabequelle für die CodeBuild Aktion angegeben wird, muss das einzelne Artefakt oder bei mehreren Eingabequellen das primäre Artefakt mithilfe des Aktionskonfigurationsparameters in festgelegt werden.
PrimarySourceCodePipelineJedes 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_DIRzur Verfügung gestellt. Die Verzeichnisse für alle anderen Eingabeartefakte werden mit$CODEBUILD_SRC_DIR_yourInputArtifactNamezur 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 Buildspec-Datei definierten Artefakte für nachfolgende Aktionen in der Pipeline verfügbar zu machen. Wenn nur ein Ausgabe-Artefakt definiert ist, kann dieses Artefakt direkt im
artifactsAbschnitt der Buildspec-Datei definiert werden. Wenn mehr als ein Ausgabe-Artefakt angegeben ist, müssen alle Artefakte, auf die verwiesen wird, in der Buildspec-Datei als sekundäre Artefakte definiert werden. Die Namen der ausgegebenen Artefakte CodePipeline müssen mit den Artefakt-Identifikatoren in der Buildspec-Datei übereinstimmen.Anmerkung
Das in Ihrem CodeBuild Projekt konfigurierte Artefakt wird zum CodePipeline Eingabeartefakt in Ihrer Pipeline-Aktion.
Wenn der
CombineArtifactsParameter 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 EnvironmentVariable im AWS CodeBuild API-Handbuch.
Weitere Informationen zur Verwendung von CodeBuild Umgebungsvariablen finden Sie in CodePipeline den Beispielen unterCodeBuild Ausgabevariablen für Aktionen. Eine Liste der Umgebungsvariablen, die Sie in verwenden können CodeBuild, finden Sie im AWS CodeBuild Benutzerhandbuch unter Umgebungsvariablen in Build-Umgebungen.
Berechtigungen für Servicerollen: CodeBuild Aktion
Wenn Sie CodeBuild Unterstützung benötigen, fügen Sie Ihrer Grundsatzerklärung Folgendes hinzu:
Wenn Sie den ServiceRoleArnOverride Parameter verwenden, fügen Sie die folgende iam:PassRole Berechtigung hinzu, um die CodePipeline Übergabe der Rolle an zu ermöglichen CodeBuild:
{ "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::111122223333:role/your-codebuild-override-role", "Condition": { "StringEquals": { "iam:PassedToService": "codebuild.amazonaws.com" } } }
Deklaration einer Aktion (CodeBuild Beispiel)
Weitere Informationen finden Sie auch unter
Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.
-
AWS CodeBuild Benutzerhandbuch — Ein Beispiel für eine Pipeline mit einer CodeBuild Aktion finden Sie unter Verwenden CodePipeline mit CodeBuild zum Testen von Code und Ausführen von Builds. Beispiele für Projekte mit mehreren Eingabe- und CodeBuild Ausgabeartefakten finden Sie unter CodePipeline Integration mit CodeBuild und mehreren Eingabequellen und Beispiel für Ausgabeartefakte und Beispiel für mehrere Eingabequellen und Ausgabeartefakte.
-
Tutorial: Erstellen Sie eine Pipeline, die Ihre Android-App erstellt und testet mit AWS Device Farm— Dieses Tutorial enthält eine Buildspec-Beispieldatei und eine Beispielanwendung zum Erstellen einer Pipeline mit einer GitHub Quelle, die eine Android-App mit und erstellt und testet. CodeBuild AWS Device Farm
-
Referenz zur Build-Spezifikation für CodeBuild — Dieses Referenzthema enthält Definitionen und Beispiele zum Verständnis CodeBuild von Buildspec-Dateien. Eine Liste der Umgebungsvariablen, in denen Sie sie verwenden können CodeBuild, finden Sie im Benutzerhandbuch unter Umgebungsvariablen in Build-Umgebungen. AWS CodeBuild