Ausführen eines Build (AWS CLI) - 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.

Ausführen eines Build (AWS CLI)

Anmerkung

Um CodePipeline für die Ausführung eines Build mit AWS CodeBuild zu verwenden, überspringen Sie diese Schritte und folgen Sie den Anweisungen im Abschnitt Erstellen einer Pipeline unter Verwendung von CodeBuild (AWS CLI).

Weitere Informationen zur Verwendung der AWS CLI mit CodeBuild finden Sie unter Befehlszeilenreferenz.

  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.

  2. Wenn Sie den ausführenstart-buildBefehl mit dem--project-nameOption, ersetzen<project-name>mit dem Namen des Build-Projekts, und fahren Sie dann mit Schritt 6 dieses Verfahrens fort. Informationen zum Abrufen einer Liste von Build-Projekten finden Sie unter Anzeigen einer Liste mit Build-Projektnamen.

  3. Wenn Sie das ausführenstart-buildBefehl mit dem--idempotency-tokenOption, ein eindeutiger Bezeichner oder Token, bei dem Groß- und Kleinschreibung beachtet wird, ist im Lieferumfang vonstart-buildAnfrage. Das Token ist nach der Anforderung 5 Minuten gültig. Wenn Sie die start-build-Anforderung mit dem Token wiederholen, jedoch einen Parameter ändern, gibt CodeBuild einen Fehler wegen des abweichenden Parameters zurück.

  4. 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) auf dem lokalen Computer oder auf einer Instance, auf der AWS CLI installiert 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 die SourceVersion nicht angegeben ist, wird die neueste Version verwendet.

      • Die Commit-ID für CodeCommit, die der Version des Quellcodes entspricht, die Sie erstellen möchten. Wenn die SourceVersion nicht angegeben ist, wird die Commit-ID von HEAD für die Standard-Branch verwendet. (Sie können zwar keinen Tag-Namen für SourceVersion eingeben, aber Sie können die Commit-ID des Tags eingeben.)

      • FürGitHub, die Commit-ID, die Pull-Request-ID, der Branch-Name oder der Tag-Name, 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 die SourceVersion nicht angegeben ist, wird die Commit-ID von HEAD für die Standard-Branch 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 die SourceVersion nicht angegeben ist, wird die Commit-ID von HEAD für die Standard-Branch 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.

    • 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: Fakultativ. 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: Fakultativ. Der Name einer Umgebungsvariable in dem Build_Projekt, deren Wert Sie für diesen Build überschreiben möchten.

      • environmentVariablesOverride-Typ: Fakultativ. Der Typ der Umgebungsvariablen im Build-Projekt, deren Wert für diesen Build überschrieben werden soll.

      • environmentVariablesValue: Fakultativ. Der Wert der Umgebungsvariablen, der im Build-Projekt festgelegt wurde und für diesen Build überschrieben werden soll.

    • gitCloneDepthÜberschreiben: Fakultativ. 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,CodeBuildgibt einen Fehler zurück, bei dem die Parameter nicht übereinstimmen.

    • 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 BuildsGitHubUnternehmensserver.

    • 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).

    • reportBuildStatusÜberschreiben: 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 festlegen alsGitHub,GitHubEnterprise Server oder Bitbucket, eininvalidInputExceptionwird geworfen.

    • 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 ist oderGitHub.

    • 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.

    • timeoutInMinutesÜberschreiben: 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, eine Umgebungsvariable mit einem sensiblen Wert zu speichern, z. B.AWSZugriffsschlüssel-ID, einAWSgeheimer Zugriffsschlüssel oder ein Passwort als Parameter im Amazon EC2 Systems Manager Parameter Store. CodeBuildkann einen im Amazon EC2 Systems Manager Parameter Store gespeicherten Parameter nur verwenden, wenn der Name dieses Parameters mit beginnt/CodeBuild/(zum Beispiel/CodeBuild/dockerLoginPassword). Sie können die verwendenCodeBuildKonsole, 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 fürKMS-Schlüssel, Sie können optional den ARN eines angebenAWS KMSgeben Sie Ihr Konto ein. 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, startet die Konsole den Parameter beim Speichern mit /CodeBuild/. 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 beginnen/CodeBuild/, und Sie müssen Folgendes festlegenTypzuSichere Zeichenfolge. Weitere Informationen finden Sie unterAWS Systems ManagerParameter speichernundExemplarische Vorgehensweise: Erstellen und Testen eines String-Parameters (Konsole)in derAmazon EC2 Systems Manager-Benutzerhandbuch.

    Wenn Ihr Build-Projekt auf Parameter Store von Amazon EC2 Systems Manager gespeicherte Parameter verweist, muss die Service-Rolle des Build-Projekts Folgendes zulassenssm:GetParametersAktion. Wenn Sie zuvor Create a new service role in your account (Neue Servicerolle in Ihrem Konto erstellen) ausgewählt haben, dann nimmt CodeBuild diese Aktion automatisch in die Standard-Servicerolle für Ihr Build-Projekt auf. 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). Eine Liste der neuesten Einstellungen für ein Build-Projekt finden Sie unter Anzeigen der Details eines Build-Projekts.

  5. 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
  6. Bei Erfolg enthält die Ausgabe Daten wie in der So führen Sie den Build aus-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) an.