

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.

# Bearbeitung der Build-Spezifikation
<a name="edit-build-settings"></a>

Sie können die Build-Einstellungen einer Anwendung anpassen, indem Sie die Build-Spezifikation (Buildspec) in der Amplify-Konsole bearbeiten. Die Build-Einstellungen werden auf alle Branches in Ihrer App angewendet, mit Ausnahme der Branches, für die eine `amplify.yml` Datei im Git-Repository gespeichert ist.

**Um die Build-Einstellungen in der Amplify-Konsole zu bearbeiten**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die [Amplify-Konsole](https://console.aws.amazon.com/amplify/).

1. Wählen Sie die App aus, für die Sie die Build-Einstellungen bearbeiten möchten.

1. Wählen Sie im Navigationsbereich **Hosting** und dann **Build-Einstellungen** aus.

1. Wählen Sie auf der Seite mit den **Build-Einstellungen** im Abschnitt **App-Build-Spezifikation** die Option **Bearbeiten** aus.

1. Geben **Sie im Fenster Build-Spezifikation bearbeiten** Ihre Aktualisierungen ein.

1. Wählen Sie **Speichern**.

Sie können die in den folgenden Themen beschriebenen Beispiele verwenden, um Ihre Build-Einstellungen für bestimmte Szenarien zu aktualisieren.

**Topics**
+ [Festlegen branchenspezifischer Build-Einstellungen mithilfe von Skripten](#branch-specific-build-settings)
+ [Einen Befehl einrichten, um zu einem Unterordner zu navigieren](#navigating-to-a-subfolder)
+ [Bereitstellung des Backends mit dem Frontend für eine Gen-1-App](#frontend-with-backend)
+ [Einstellung des Ausgabeordners](#setting-the-output-folder)
+ [Pakete als Teil eines Builds installieren](#installing-packages-as-part-of-your-build)
+ [Verwenden Sie eine private NPM-Registrierung](#using-a-private-npm-registry)
+ [Installieren von OS-Paketen](#installing-os-packages)
+ [Einstellung des Schlüsselwertspeichers für jeden Build](#key-value-storage-for-every-build)
+ [Den Build für einen Commit überspringen](#skip-build-for-a-commit)
+ [Automatische Builds bei jedem Commit ausschalten](#disable-automatic-builds)
+ [Konfiguration von diff-basiertem Frontend, Build und Deployment](#enable-diff-deploy)
+ [Konfiguration von diff-basierten Backend-Builds für eine Gen-1-App](#enable-diff-backend)

## Festlegen branchenspezifischer Build-Einstellungen mithilfe von Skripten
<a name="branch-specific-build-settings"></a>

Sie können Bash-Shell-Skripts verwenden, um verzweigungsspezifische Build-Einstellungen festzulegen. *Das folgende Skript verwendet beispielsweise die Systemumgebungsvariable *\$1*, AWS\$1BRANCH um einen Befehlssatz auszuführen, wenn der Zweigname *main* ist, und einen anderen Befehlssatz, wenn der Zweigname dev ist.*

```
frontend:
  phases:
    build:
      commands:
        - if [ "${AWS_BRANCH}" = "main" ]; then echo "main branch"; fi
        - if [ "${AWS_BRANCH}" = "dev" ]; then echo "dev branch"; fi
```

## Einen Befehl einrichten, um zu einem Unterordner zu navigieren
<a name="navigating-to-a-subfolder"></a>

Bei Monorepos möchten Benutzer in der Lage sein, `cd` in einen Ordner zu gelangen, um den Build auszuführen. Nachdem Sie den `cd` Befehl ausgeführt haben, gilt er für alle Phasen Ihres Builds, sodass Sie den Befehl nicht in separaten Phasen wiederholen müssen.

```
version: 1
env:
  variables:
    key: value
frontend:
  phases:
    preBuild:
      commands:
        - cd react-app
        - npm ci
    build:
      commands:
        - npm run build
```

## Bereitstellung des Backends mit dem Frontend für eine Gen-1-App
<a name="frontend-with-backend"></a>

**Anmerkung**  
Dieser Abschnitt gilt nur für Amplify Gen 1-Anwendungen. Ein Gen 1-Backend wird mit Amplify Studio und der Amplify-Befehlszeilenschnittstelle (CLI) erstellt.

Der `amplifyPush` Befehl ist ein Hilfsskript, das Ihnen bei Backend-Bereitstellungen hilft. Die Build-Einstellungen unten ermitteln automatisch die richtige Backend-Umgebung für die Bereitstellung der aktuellen Verzweigung.

```
version: 1
env:
  variables:
    key: value
backend:
  phases:
    build:
      commands:
        - amplifyPush --simple
```

## Einstellung des Ausgabeordners
<a name="setting-the-output-folder"></a>

Mit den folgenden Build-Einstellungen wird der öffentliche Ordner als Ausgabeordner festgelegt.

```
frontend:
  phases:
    commands:
      build:
        - yarn run build
  artifacts:
    baseDirectory: public
```

## Pakete als Teil eines Builds installieren
<a name="installing-packages-as-part-of-your-build"></a>

Sie können die `yarn` Befehle `npm` oder verwenden, um Pakete während des Builds zu installieren.

```
frontend:
  phases:
    build:
      commands:
        - npm install -g <package>
        - <package> deploy
        - yarn run build
  artifacts:
    baseDirectory: public
```

## Verwenden Sie eine private NPM-Registrierung
<a name="using-a-private-npm-registry"></a>

Sie können eine private Registrierung als Umgebungsvariable hinzufügen oder Verweise darauf in Ihren Build-Einstellungen hinzufügen.

```
build:
  phases:
    preBuild:
      commands:
        - npm config set <key> <value>
        - npm config set registry https://registry.npmjs.org
        - npm config set always-auth true
        - npm config set email hello@amplifyapp.com
        - yarn install
```

## Installieren von OS-Paketen
<a name="installing-os-packages"></a>

Das AL2023 Image von Amplify führt Ihren Code mit einem nicht privilegierten Benutzer namens aus. `amplify` Amplify gewährt diesem Benutzer Rechte, Betriebssystembefehle mit dem `sudo` Linux-Befehl auszuführen. Wenn Sie Betriebssystempakete für fehlende Abhängigkeiten installieren möchten, können Sie Befehle wie `yum` und `rpm` with `sudo` verwenden.

Der folgende Beispiel-Build-Abschnitt demonstriert die Syntax für die Installation eines Betriebssystempakets mithilfe des `sudo` Befehls.

```
build:
  phases:
    preBuild:
      commands:
        - sudo yum install -y <package>
```

## Einstellung des Schlüsselwertspeichers für jeden Build
<a name="key-value-storage-for-every-build"></a>

Das `envCache` stellt die Speicherung von Schlüsselwerten zur Build-Zeit bereit. Werte, die in gespeichert sind, `envCache` können nur während eines Builds geändert und beim nächsten Build wiederverwendet werden. Mithilfe von können wir Informationen über die bereitgestellte Umgebung speichern und sie dem Build-Container in aufeinanderfolgenden Builds zur Verfügung stellen. `envCache` Im Gegensatz zu Werten`envCache`, die in der gespeichert sind, werden Änderungen an Umgebungsvariablen während eines Builds nicht für future Builds beibehalten.

Beispielverwendung:

```
envCache --set <key> <value>
envCache --get <key>
```

## Den Build für einen Commit überspringen
<a name="skip-build-for-a-commit"></a>

Um einen automatischen Build für einen bestimmten Commit zu überspringen, fügen Sie den Text **[skip-cd]** am Ende der Commit-Nachricht ein.

## Automatische Builds bei jedem Commit ausschalten
<a name="disable-automatic-builds"></a>

Sie können Amplify so konfigurieren, dass automatische Builds bei jedem Code-Commit deaktiviert werden. Wählen Sie zur Einrichtung **App-Einstellungen, **Branch-Einstellungen**** und suchen Sie dann den Abschnitt **Branches**, in dem die verbundenen Branches aufgelistet sind. Wählen Sie einen Zweig aus und klicken Sie dann auf **Aktionen**, **auto Erstellung deaktivieren**. Neue Commits für diesen Branch führen nicht mehr zu einem neuen Build.

## Konfiguration von diff-basiertem Frontend, Build und Deployment
<a name="enable-diff-deploy"></a>

Sie können Amplify so konfigurieren, dass diff-basierte Frontend-Builds verwendet werden. Wenn diese Option aktiviert ist, versucht Amplify zu Beginn jedes Builds standardmäßig`appRoot`, einen Diff für Ihren oder den `/src/` Ordner auszuführen. Wenn Amplify keine Unterschiede feststellt, überspringt es die Schritte zum Erstellen, Testen (falls konfiguriert) und Bereitstellen des Frontends und aktualisiert Ihre gehostete App nicht.

**Um das diff-basierte Frontend zu konfigurieren, zu erstellen und bereitzustellen**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die [Amplify-Konsole](https://console.aws.amazon.com/amplify/).

1. Wählen Sie die App aus, für die Sie den Diff-basierten Frontend-Build und die Bereitstellung konfigurieren möchten.

1. Wählen Sie im Navigationsbereich **Hosting**, **Umgebungsvariablen** aus.

1. Wählen Sie im Abschnitt **Umgebungsvariablen** die Option **Variablen verwalten** aus.

1. Das Verfahren zur Konfiguration der Umgebungsvariablen hängt davon ab, ob Sie das diff-basierte Frontend-Build und Deploy aktivieren oder deaktivieren.
   + Um das diff-basierte Frontend zu aktivieren, erstellen und implementieren Sie es

     1. Geben **`AMPLIFY_DIFF_DEPLOY`Sie im Abschnitt Variablen verwalten** unter **Variable** den Wert ein.

     1. Geben Sie für **Wert** `true` ein.
   + Um das auf Diff basierende Frontend-Build und Deployment zu deaktivieren

     1. Führen Sie eine der folgenden Aktionen aus:
       + Suchen **`AMPLIFY_DIFF_DEPLOY`Sie im Abschnitt Variablen verwalten** nach. Geben Sie für **Wert** `false` ein.
       + Entfernen Sie die `AMPLIFY_DIFF_DEPLOY` Umgebungsvariable.

1. Wählen Sie **Speichern**.

Optional können Sie die `AMPLIFY_DIFF_DEPLOY_ROOT` Umgebungsvariable so einstellen, dass sie den Standardpfad durch einen Pfad überschreibt, der sich auf das Stammverzeichnis Ihres Repositorys bezieht, z. B. `dist`

## Konfiguration von diff-basierten Backend-Builds für eine Gen-1-App
<a name="enable-diff-backend"></a>

**Anmerkung**  
Dieser Abschnitt gilt nur für Amplify Gen 1-Anwendungen. Ein Gen 1-Backend wird mit Amplify Studio und der Amplify-Befehlszeilenschnittstelle (CLI) erstellt.

Sie können Amplify Hosting so konfigurieren, dass es diff-basierte Backend-Builds verwendet, indem Sie die `AMPLIFY_DIFF_BACKEND` Umgebungsvariable verwenden. Wenn Sie diff-basierte Backend-Builds aktivieren, versucht Amplify zu Beginn jedes Builds, einen Diff für den `amplify` Ordner in Ihrem Repository auszuführen. Wenn Amplify keine Unterschiede feststellt, überspringt es den Backend-Build-Schritt und aktualisiert Ihre Backend-Ressourcen nicht. Wenn Ihr Projekt keinen `amplify` Ordner in Ihrem Repository hat, ignoriert Amplify den Wert der `AMPLIFY_DIFF_BACKEND` Umgebungsvariablen.

Wenn Sie derzeit benutzerdefinierte Befehle in den Build-Einstellungen Ihrer Backend-Phase angegeben haben, funktionieren bedingte Backend-Builds nicht. Wenn Sie möchten, dass diese benutzerdefinierten Befehle ausgeführt werden, müssen Sie sie in der Datei Ihrer App in die Frontend-Phase Ihrer Build-Einstellungen verschieben. `amplify.yml`

**Um diff-basierte Backend-Builds zu konfigurieren**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die [Amplify-Konsole](https://console.aws.amazon.com/amplify/).

1. Wählen Sie die App aus, für die diff-basierte Backend-Builds konfiguriert werden sollen.

1. Wählen Sie im Navigationsbereich **Hosting**, **Umgebungsvariablen** aus.

1. Wählen Sie im Abschnitt **Umgebungsvariablen** die Option **Variablen verwalten** aus.

1. Das Verfahren zur Konfiguration der Umgebungsvariablen hängt davon ab, ob Sie diff-basierte Backend-Builds aktivieren oder deaktivieren.
   + So aktivieren Sie diff-basierte Backend-Builds

     1. Geben **`AMPLIFY_DIFF_BACKEND`Sie im Abschnitt Variablen verwalten** unter **Variable** den Wert ein.

     1. Geben Sie für **Wert** `true` ein.
   + Um Diff-basierte Backend-Builds zu deaktivieren

     1. Führen Sie eine der folgenden Aktionen aus:
       + Suchen **`AMPLIFY_DIFF_BACKEND`Sie im Abschnitt Variablen verwalten** nach. Geben Sie für **Wert** `false` ein.
       + Entfernen Sie die `AMPLIFY_DIFF_BACKEND` Umgebungsvariable.

1. Wählen Sie **Speichern**.