

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.

# Ausführen eines Build (AWS CLI)
<a name="run-build-cli"></a>

**Anmerkung**  
Um einen Build mit auszuführen AWS CodeBuild, überspringen Sie diese Schritte und folgen Sie den Anweisungen unter[Erstellen Sie eine Pipeline, die CodeBuild (AWS CLI) verwendet](how-to-create-pipeline-cli.md). CodePipeline   
Weitere Informationen zur Verwendung von AWS CLI with CodeBuild finden Sie unter[Befehlszeilenreferenz](cmd-ref.md).

1. Führen Sie den Befehl `start-build` auf eine der folgenden Weisen aus:

   ```
   aws codebuild start-build --project-name <project-name>
   ```

   Sie können diesen Befehl verwenden, wenn Sie ein Build ausführen möchten, dass die neueste Version des Build-Eingabeartifakts und die vorhandenen Einstellungen des Build-Projekts einsetzt.

   ```
   aws codebuild start-build --generate-cli-skeleton
   ```

   Verwenden Sie diesen Befehl, wenn Sie einen Build mit einer früheren Version des Build-Eingabeartefakts verwenden oder die Einstellungen für Build-Ausgabeartefakte, Umgebungsvariablen, Build-Spezifikationen oder Standard-Build-Zeitbeschränkungen überschreiben möchten.

1. Wenn Sie den **start-build** Befehl mit der `--project-name` Option ausführen, ersetzen Sie ihn durch den Namen des Build-Projekts, und fahren Sie dann *<project-name>* mit Schritt 6 dieses Verfahrens fort. Informationen zum Abrufen einer Liste von Build-Projekten finden Sie unter [Namen von Build-Projekten anzeigen](view-project-list.md).

1. Wenn Sie den **start-build** Befehl mit der `--idempotency-token` Option ausführen, ist ein eindeutiger Bezeichner oder ein Token, bei dem die Groß- und Kleinschreibung beachtet wird, in der `start-build` Anforderung enthalten. Das Token ist nach der Anforderung 5 Minuten gültig. Wenn Sie die `start-build` Anfrage mit demselben Token wiederholen, aber einen Parameter ändern, wird ein Fehler wegen Nichtübereinstimmung der Parameter CodeBuild zurückgegeben.

1. Wenn Sie den **start-build** Befehl mit der Option `--generate-cli-skeleton` ausführen, werden Daten im JSON-Format in der Ausgabe angezeigt. Kopieren Sie die Daten in eine Datei (z. B.`start-build.json`) an einem Speicherort auf dem lokalen Computer oder in der Instanz, in der der installiert AWS CLI ist. Ändern Sie die kopierten Daten, damit diese mit dem nachfolgenden Format übereinstimmen und speichern Sie die Ergebnisse:

   ```
   {
     "projectName": "projectName",
     "sourceVersion": "sourceVersion",
     "artifactsOverride": {
       "type": "type",
       "location": "location",
       "path": "path",
       "namespaceType": "namespaceType",
       "name": "artifactsOverride-name",
       "packaging": "packaging"
     },
     "buildspecOverride": "buildspecOverride",
     "cacheOverride": {
       "location": "cacheOverride-location",
       "type": "cacheOverride-type"
     },
     "certificateOverride": "certificateOverride",
     "computeTypeOverride": "computeTypeOverride",
     "environmentTypeOverride": "environmentTypeOverride",
     "environmentVariablesOverride": {
       "name": "environmentVariablesOverride-name",
       "value": "environmentVariablesValue",
       "type": "environmentVariablesOverride-type"
     },
     "gitCloneDepthOverride": "gitCloneDepthOverride",
     "imageOverride": "imageOverride",
     "idempotencyToken": "idempotencyToken",
     "insecureSslOverride": "insecureSslOverride",
     "privilegedModeOverride": "privilegedModeOverride",
     "queuedTimeoutInMinutesOverride": "queuedTimeoutInMinutesOverride",
     "reportBuildStatusOverride": "reportBuildStatusOverride",
     "timeoutInMinutesOverride": "timeoutInMinutesOverride",
     "sourceAuthOverride": "sourceAuthOverride",
     "sourceLocationOverride": "sourceLocationOverride",
     "serviceRoleOverride": "serviceRoleOverride",
     "sourceTypeOverride": "sourceTypeOverride"
   }
   ```

   Ersetzen die folgenden Platzhalter:
   + *projectName*: Erforderliche Zeichenfolge. Der Name des Build-Projekts, der für diesen Build zu verwenden ist. 
   + *sourceVersion*: Optionale Zeichenfolge. Eine Version des Quellcodes, der wie folgt zu erstellen ist:
     + Für Amazon S3 die Versions-ID, die der Version der Eingabe-ZIP-Datei entspricht, die Sie erstellen möchten. Wenn *sourceVersion* nicht angegeben, wird die neueste Version verwendet.
     + Für CodeCommit die Commit-ID, die der Version des Quellcodes entspricht, den Sie erstellen möchten. Wenn nicht angegeben, *sourceVersion* wird die HEAD-Commit-ID des Standardzweigs verwendet. (Sie können keinen Tag-Namen für angeben*sourceVersion*, aber Sie können die Commit-ID des Tags angeben.)
     + Für GitHub die Commit-ID, die Pull-Request-ID, den Branch-Namen oder den Tag-Namen, der der Version des Quellcodes entspricht, den Sie erstellen möchten. Wenn eine Pull-Anforderungs-ID angegeben ist, muss diese das Format `pr/pull-request-ID` verwenden (Beispiel: `pr/25`). Wenn ein Branch-Name angegeben wird, wird die Commit-ID von HEAD verwendet. Wenn nicht angegeben, *sourceVersion* wird die HEAD-Commit-ID des Standard-Branches verwendet. 
     + Für Bitbucket, Commit-ID, Branch-Name oder Tag-Name, die/der der Version des Quellcodes entspricht, die Sie erstellen möchten. Wenn ein Branch-Name angegeben wird, wird die Commit-ID von HEAD verwendet. Wenn nicht angegeben, *sourceVersion* wird die HEAD-Commit-ID des Standard-Branches verwendet. 
   + Die folgenden Platzhalter gelten für `artifactsOverride`.
     + *type*: Optional. Die Art des Build-Ausgabeartefakts, der für diesen Build den Build überschreibt, der im Build-Projekt festgelegt ist.
     + *location*: Optional. Der Speicherort des Build-Ausgabeartefakt, der für diesen Build den Build überschreibt, der im Build-Projekt festgelegt ist.
     + *path*: Optional. Der Pfad des Build-Ausgabeartefakts, der für diesen Build den Build überschreibt, der im Build-Projekt festgelegt ist.
     + *namespaceType*: Optional. Der Pfadtyp des Build-Ausgabeartefakts, der für diesen Build den Build überschreibt, der im Build-Projekt festgelegt ist.
     + *name*: Optional. Der Name des Build-Ausgabeartefakts, der für diesen Build den Build überschreibt, der im Build-Projekt festgelegt ist.
     + *packaging*: Optional. Die Verpackungsart des Build-Ausgabeartefakts, der für diesen Build den Build überschreibt, der im Build-Projekt festgelegt ist.
   + *buildspecOverride*: Optional. Eine Build-Spezifikationsdeklaration, die für diesen Build den Build überschreibt, der im Build-Projekt festgelegt ist. Wenn dieser Wert festgelegt ist, kann es sich entweder um eine Inline-Definition einer Build-Spezifikation, den Pfad zu einer alternativen buildspec-Datei relativ zum Wert der integrierten Umgebungsvariablen `CODEBUILD_SRC_DIR` oder den Pfad zu einem S3-Bucket handeln. Der S3-Bucket muss sich in derselben 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 der Wert nicht angegeben oder eine leere Zeichenfolge ist, muss der Quellcode eine `buildspec.yml`-Datei im Stammverzeichnis enthalten. Weitere Informationen finden Sie unter [Dateiname der Build-Spezifikation und Speicherort](build-spec-ref.md#build-spec-ref-name-storage).
   + Die folgenden Platzhalter gelten für `cacheOverride`.
     + *cacheOverride-location*: Optional. Der Speicherort eines `ProjectCache`-Objekts für diesen Build, der das im Build-Projekt angegebene `ProjectCache`-Objekt überschreibt. `cacheOverride` ist optional und akzeptiert ein `ProjectCache`-Objekt. `location` ist in einem `ProjectCache`-Objekt erforderlich.
     + *cacheOverride-type*: Optional. Der Typ eines `ProjectCache`-Objekts für diesen Build, der das im Build-Projekt angegebene `ProjectCache`-Objekt überschreibt. `cacheOverride` ist optional und akzeptiert ein `ProjectCache`-Objekt. `type` ist in einem `ProjectCache`-Objekt erforderlich.
   + *certificateOverride*: Optional. Der Name eines Zertifikats für diesen Build, das das im Build-Projekt angegebene überschreibt.
   + *environmentTypeOverride*: Optional. Ein Containertyp für diesen Build, der den im Build-Projekt angegebenen überschreibt. Die aktuell gültige Zeichenfolge ist `LINUX_CONTAINER`.
   + Die folgenden Platzhalter gelten für `environmentVariablesOverride`.
     + *environmentVariablesOverride-name*: Optional. Der Name einer Umgebungsvariable in dem Build\$1Projekt, deren Wert Sie für diesen Build überschreiben möchten.
     + *environmentVariablesOverride-type*: Optional. Der Typ der Umgebungsvariablen im Build-Projekt, deren Wert für diesen Build überschrieben werden soll.
     + *environmentVariablesValue*: Optional. Der Wert der Umgebungsvariablen, der im Build-Projekt festgelegt wurde und für diesen Build überschrieben werden soll.
   + *gitCloneDepthOverride*: Optional. Der Wert für **Git clone depth**, der in dem Build-Projekt festgelegt ist, dessen Wert Sie für diesen Build überschreiben möchten. Wenn Ihr Quelltyp Amazon S3 ist, wird dieser Wert nicht unterstützt.
   + *imageOverride*: Optional. Der Name eines Abbilds für diesen Build, das das im Build-Projekt angegebene überschreibt.
   + *idempotencyToken*: Optional. Eine Zeichenfolge, die als Token dient und angibt, dass die Build-Anforderung idempotent ist. Sie können eine beliebige Zeichenfolge mit maximal 64 Zeichen verwenden. Das Token ist nach der Start-Build-Anfrage 5 Minuten lang gültig. Wenn Sie die Start-Build-Anfrage mit demselben Token wiederholen, aber einen Parameter ändern, wird ein CodeBuild Parameterkonflikt-Fehler zurückgegeben. 
   + *insecureSslOverride*: Optionaler boolescher Wert, der angibt, ob die im Build-Projekt angegebene unsichere TLS-Einstellung überschrieben werden soll. Die unsichere TLS-Einstellung bestimmt, ob TLS-Warnungen ignoriert werden sollen, während die Verbindung zum Projektquellcode hergestellt wird. Diese Überschreibung gilt nur, wenn die Quelle des Builds Enterprise Server ist GitHub .
   + *privilegedModeOverride*: Optionaler boolescher Wert. Ist der Wert "true" festgelegt, überschreibt der Build den privilegierten Modus im Build-Projekt.
   +  *queuedTimeoutInMinutesOverride*: Optionale Ganzzahl, die angibt, wie viele Minuten ein Build in die Warteschlange gestellt werden darf, bevor das Timeout eintritt. Der kleinste Wert beträgt fünf Minuten, der größte Wert beträgt 480 Minuten (8 Stunden). 
   + *reportBuildStatusOverride*: Optionaler boolescher Wert, der angibt, ob Ihrem Quellanbieter der Status des Beginns und des Abschlusses eines Builds gesendet werden soll. Wenn Sie dies mit einem anderen Quellanbieter als GitHub GitHub Enterprise Server oder Bitbucket festlegen, wird ein invalidInputException ausgelöst.
   + *sourceAuthOverride*: Optionale Zeichenfolge. Ein Autorisierungstyp für diesen Build, der den im Build-Projekt angegebenen überschreibt. Diese Überschreibung gilt nur, wenn die Quelle des Build-Projekts Bitbucket oder GitHub ist.
   + *sourceLocationOverride*: Optionale Zeichenfolge. Ein Speicherort, der für diesen Build den Quellspeicherort überschreibt, der im Build-Projekt definiert ist.
   + *serviceRoleOverride*: Optionale Zeichenfolge. Der Name einer Servicerolle für diesen Build, die die im Build-Projekt angegebene Servicerolle überschreibt.
   + *sourceTypeOverride*: Optionale Zeichenfolge. Ein Quelleingabetyp für diesen Build, der die im Build-Projekt definierte Quelleingabe überschreibt. Gültige Zeichenfolgen sind `NO_SOURCE`, `CODECOMMIT`, `CODEPIPELINE`, `GITHUB`, `S3`, `BITBUCKET` und `GITHUB_ENTERPRISE`.
   + *timeoutInMinutesOverride*: Optionale Zahl. Die Anzahl der Minuten der Build-Zeitbeschränkung, die für diesen Build den Build überschreiben, der im Build-Projekt festgelegt ist. 

   Wir empfehlen, dass Sie eine Umgebungsvariable mit einem sensiblen Wert wie einer AWS Zugriffsschlüssel-ID, einem AWS geheimen Zugriffsschlüssel oder einem Passwort als Parameter im Amazon EC2 Systems Manager Parameter Store speichern. CodeBuild kann einen im Amazon EC2 Systems Manager Parameter Store gespeicherten Parameter nur verwenden, wenn der Name dieses Parameters mit beginnt `/CodeBuild/` (z. B.`/CodeBuild/dockerLoginPassword`). Sie können die CodeBuild Konsole verwenden, um einen Parameter in Amazon EC2 Systems Manager zu erstellen. Wählen Sie **Create a parameter (Parameter erstellen)** aus und befolgen Sie dann die Anweisungen. (In diesem Dialogfeld können Sie für **KMS-Schlüssel** optional den ARN eines AWS KMS Schlüssels in Ihrem Konto angeben. Amazon EC2 Systems Manager verwendet diesen Schlüssel, um den Wert des Parameters beim Speichern zu verschlüsseln und beim Abrufen zu entschlüsseln.) Wenn Sie die CodeBuild Konsole verwenden, um einen Parameter zu erstellen, beginnt die Konsole den Parameter mit dem Wert, `/CodeBuild/` während er gespeichert wird. Wenn Sie jedoch die Amazon EC2 Systems Manager Parameter Store-Konsole verwenden, um einen Parameter zu erstellen, müssen Sie den Namen des Parameters mit `/CodeBuild/` beginnen und **Type** auf **Secure String** setzen. Weitere Informationen finden Sie unter [AWS Systems Manager Parameterspeicher](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) und [Exemplarische Vorgehensweise: Erstellen und Testen eines String-Parameters (Konsole)](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-console.html) im *Amazon EC2 Systems Manager Manager-Benutzerhandbuch*.

   Wenn Ihr Build-Projekt auf Parameter Store von Amazon EC2 Systems Manager gespeicherte Parameter verweist, muss die Service-Rolle des Build-Projekts die `ssm:GetParameters` Aktion zulassen. Wenn Sie zuvor **in Ihrem Konto die Option Neue Servicerolle erstellen** ausgewählt haben, wird CodeBuild diese Aktion automatisch in die Standard-Servicerolle für Ihr Build-Projekt aufgenommen. Wenn Sie jedoch **Choose an existing service role from your account** ausgewählt haben, müssen Sie diese Aktion separat in Ihre Service-Rolle aufnehmen.

   Von Ihnen gesetzte Umgebungsvariablen ersetzen vorhandene Umgebungsvariablen. Wenn das Docker-Image beispielsweise bereits eine Umgebungsvariable mit dem Namen `MY_VAR` und einem Wert von `my_value` enthält und Sie eine Umgebungsvariable mit dem Namen `MY_VAR` und einem Wert von `other_value` festlegen, wird `my_value` durch `other_value` ersetzt. Wenn das Docker-Image demgegenüber bereits eine Umgebungsvariable mit dem Namen `PATH` und einem Wert von `/usr/local/sbin:/usr/local/bin` enthält und Sie eine Umgebungsvariable mit dem Namen `PATH` und einem Wert von `$PATH:/usr/share/ant/bin` festlegen, wird `/usr/local/sbin:/usr/local/bin` durch den Literalwert `$PATH:/usr/share/ant/bin` ersetzt. 

   Legen Sie keine Umgebungsvariable mit einem Namen fest, der mit `CODEBUILD_` beginnt. Dieses Präfix ist zur -internen Verwendung reserviert.

   Wenn eine Umgebungsvariable mit identischem Namen an mehreren Orten definiert ist, wird der Wert der Umgebungsvariable folgendermaßen bestimmt:
   + Der Wert im Aufruf zum Starten des Build-Vorgangs hat den höchsten Vorrang.
   + Der Wert in der Build-Projektdefinition folgt darauf.
   + Der Wert in der Deklaration in der buildspec-Datei hat die niedrigste Priorität.

   Weitere Informationen zu gültigen Werten für diese Platzhalter finden Sie unter [Erstellen eines Build-Projekts (AWS CLI)](create-project.md#create-project-cli). Eine Liste der neuesten Einstellungen für ein Build-Projekt finden Sie unter [Details zum Build-Projekt anzeigen](view-project-details.md).

1. Wechseln Sie in das Verzeichnis, das die soeben gespeicherte Datei enthält, und führen Sie den Befehl `start-build` erneut aus.

   ```
   aws codebuild start-build --cli-input-json file://start-build.json
   ```

1. Bei Erfolg enthält die Ausgabe Daten wie in der [So führen Sie den Build aus](getting-started-overview.md#getting-started-run-build-cli)-Anleitung beschrieben.

Um mit den detaillierten Informationen über diesen Build zu arbeiten, notieren Sie sich den Wert `id` im der Ausgabe und zeigen Sie sich dann [Anzeigen von Build-Details (AWS CLI)](view-build-details.md#view-build-details-cli) an.