Bearbeiten der Build-Spezifikation in der Amplify-Konsole - AWS Amplify Hosting

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.

Bearbeiten der Build-Spezifikation in der Amplify-Konsole

Sie können die Build-Einstellungen einer Anwendung anpassen, indem Sie die Build-Spezifikation 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. Melde dich an bei AWS Management Console und öffne die Amplify-Konsole.

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

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

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

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

  6. Wählen Sie Save (Speichern) aus.

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

Festlegen branchenspezifischer Build-Einstellungen mithilfe von Skripten

Sie können Bash-Shell-Skripts verwenden, um verzweigungsspezifische Build-Einstellungen festzulegen. Das folgende Skript verwendet beispielsweise die Systemumgebungsvariable $, AWS_BRANCH 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

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

Anmerkung

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

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

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

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

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

Das AL2 023-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

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 WertenenvCache, 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

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

Wenn Sie automatische Builds bei jedem Commit ausschalten

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

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äßigappRoot, 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 an bei AWS Management Console und öffne die Amplify-Konsole.

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

  3. Wählen Sie im Navigationsbereich Hosting, Umgebungsvariablen aus.

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

  5. 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_DEPLOYSie im Abschnitt Variablen verwalten unter Variable den Wert ein.

      2. 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_DEPLOYSie im Abschnitt Variablen verwalten nach. Geben Sie für Wert false ein.

        • Entfernen Sie die AMPLIFY_DIFF_DEPLOY Umgebungsvariable.

  6. Wählen Sie Save (Speichern) aus.

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

Anmerkung

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

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 Management Console und öffne die Amplify-Konsole.

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

  3. Wählen Sie im Navigationsbereich Hosting, Umgebungsvariablen aus.

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

  5. 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_BACKENDSie im Abschnitt Variablen verwalten unter Variable den Wert ein.

      2. 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_BACKENDSie im Abschnitt Variablen verwalten nach. Geben Sie für Wert false ein.

        • Entfernen Sie die AMPLIFY_DIFF_BACKEND Umgebungsvariable.

  6. Wählen Sie Save (Speichern) aus.