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.
Build-Einstellungen konfigurieren
Wenn Sie eine App mit Amplify Hosting bereitstellen, erkennt sie automatisch das Front-End-Framework und die zugehörigen Build-Einstellungen, indem sie die package.json
Datei in Ihrem Repository überprüft. Sie haben die folgenden Optionen zum Speichern der Build-Einstellungen Ihrer App:
-
Speichern Sie die Build-Einstellungen in der Amplify-Konsole — Die Amplify-Konsole erkennt die Build-Einstellungen automatisch und speichert sie, sodass über die Amplify-Konsole auf sie zugegriffen werden kann. Amplify wendet diese Einstellungen auf alle Ihre Branches an, es sei denn, in Ihrem Repository ist eine
amplify.yml
Datei gespeichert. -
Speichern Sie die Build-Einstellungen in Ihrem Repository — Laden Sie die
amplify.yml
Datei herunter und fügen Sie sie dem Stammverzeichnis Ihres Repositorys hinzu.
Sie können die Build-Einstellungen einer App in der Amplify-Konsole bearbeiten, indem Sie im Navigationsbereich Hosting und dann Build-Einstellungen auswählen. Die Build-Einstellungen werden auf alle Branches in Ihrer App angewendet, mit Ausnahme der Branches, für die eine amplify.yml
Datei im Repository gespeichert ist.
Anmerkung
Die Build-Einstellungen sind nur dann im Hosting-Menü der Amplify-Konsole sichtbar, wenn eine App für die kontinuierliche Bereitstellung eingerichtet und mit einem Git-Repository verbunden ist. Anweisungen zu dieser Art der Bereitstellung finden Sie unter Erste Schritte.
Befehle und Einstellungen für Build-Spezifikationen
Die Build-Spezifikation YAML enthält eine Sammlung von Build-Befehlen und zugehörigen Einstellungen, die Amplify verwendet, um Ihren Build auszuführen. In der folgenden Liste werden diese Einstellungen und ihre Verwendung beschrieben.
- version
-
Die Amplify YAML-Versionsnummer.
- AppRoot
-
Der Pfad innerhalb des Repositorys, in dem sich diese Anwendung befindet. Wird ignoriert, sofern nicht mehrere Anwendungen definiert sind.
- env
-
Fügen Sie diesem Abschnitt Umgebungsvariablen hinzu. Sie können Umgebungsvariablen auch mithilfe der Konsole hinzufügen.
- Backend
-
Führen Sie Amplify CLI-Befehle aus, um im Rahmen einer kontinuierlichen Bereitstellung ein Backend bereitzustellen, Lambda-Funktionen oder GraphQL-Schemas zu aktualisieren.
- Frontend
-
Führen Sie Frontend-Build-Befehle aus.
- Test
-
Befehle während einer Testphase ausführen. Erfahren Sie, wie Sie Ihrer App Tests hinzufügen.
- Phasen erstellen
-
Das Frontend, das Backend und der Test bestehen aus drei Phasen, die die Befehle darstellen, die während jeder Sequenz des Builds ausgeführt werden.
-
PreBuild — Das PreBuild-Skript wird ausgeführt, bevor der eigentliche Build gestartet wird, aber nachdem Amplify Abhängigkeiten installiert hat.
-
Build: Ihre Build-Befehle.
-
PostBuild — Das Post-Build-Skript wird ausgeführt, nachdem der Build abgeschlossen ist und Amplify alle erforderlichen Artefakte in das Ausgabeverzeichnis kopiert hat.
-
- Buildpath
-
Der Pfad, der zum Ausführen des Builds verwendet werden soll. Amplify verwendet diesen Pfad, um Ihre Build-Artefakte zu finden. Wenn Sie keinen Pfad angeben, verwendet Amplify beispielsweise den Monorepo-App-Root.
apps/app
- Artefakte>Basisverzeichnis
-
Das Verzeichnis, in dem Ihre Build-Artefakte existieren.
- Artefakte>Dateien
-
Geben Sie Dateien aus Ihren Artefakten an, die Sie bereitstellen möchten. Geben Sie ein
**/*
, um alle Dateien einzubeziehen. - Cache
-
Das Cache-Feld der Buildspec wird verwendet, um Abhängigkeiten von der Buildzeit wie den Ordner node_modules zwischenzuspeichern. Es wird automatisch basierend auf dem Paketmanager und dem Framework vorgeschlagen, in dem die App des Kunden integriert ist. Während des ersten Builds werden alle Pfade hier zwischengespeichert, und bei nachfolgenden Builds füllen wir den Cache erneut auf und verwenden diese zwischengespeicherten Abhängigkeiten, wo immer möglich, um die Build-Zeit zu verkürzen.
Die folgende Beispiel-Build-Spezifikation demonstriert die grundlegende YAML-Syntax:
version: 1 env: variables: key: value backend: phases: preBuild: commands: - *enter command* build: commands: - *enter command* postBuild: commands: - *enter command* frontend: buildpath: phases: preBuild: commands: - cd react-app - npm ci build: commands: - npm run build artifacts: files: - location - location discard-paths: yes baseDirectory: location cache: paths: - path - path test: phases: preTest: commands: - *enter command* test: commands: - *enter command* postTest: commands: - *enter command* artifacts: files: - location - location configFilePath: *location* baseDirectory: *location*
Branchenspezifische Build-Einstellungen
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 Branch-Name main ist, und einen anderen Befehlssatz, wenn der Branchname dev ist.
frontend: phases: build: commands: - if [ "${AWS_BRANCH}" = "main" ]; then echo "main branch"; fi - if [ "${AWS_BRANCH}" = "dev" ]; then echo "dev branch"; fi
Zu einem Unterordner navigieren
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 (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
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 AL203-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>
Schlüssel-Wert-Speicher für jeden Build
Der envCache
stellt die Speicherung von Schlüsselwerten bei der Erstellung 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>
Überspringe den Build für einen Commit
Um einen automatischen Build für einen bestimmten Commit zu überspringen, fügen Sie den Text [skip-cd] am Ende der Commit-Nachricht ein.
Deaktivieren Sie automatische Builds
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.
Aktiviert oder deaktiviert das auf Diff basierende 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
-
Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amplify-Konsole
. -
Wählen Sie die App aus, für die Sie den Diff-basierten Frontend-Build und die Bereitstellung konfigurieren möchten.
-
Wählen Sie im Navigationsbereich Hosting, Umgebungsvariablen aus.
-
Wählen Sie im Abschnitt Umgebungsvariablen die Option Variablen verwalten aus.
-
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
-
Geben
AMPLIFY_DIFF_DEPLOY
Sie im Abschnitt Variablen verwalten unter Variable den Wert ein. -
Geben Sie für Wert
true
ein.
-
-
Um das auf Diff basierende Frontend-Build und Deployment zu deaktivieren
-
Führen Sie eine der folgenden Aktionen aus:
-
Suchen
AMPLIFY_DIFF_DEPLOY
Sie im Abschnitt Variablen verwalten nach. Geben Sie für Wertfalse
ein. -
Entfernen Sie die
AMPLIFY_DIFF_DEPLOY
Umgebungsvariable.
-
-
-
-
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
Aktivieren oder deaktivieren Sie diff-basierte 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 (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
-
Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amplify-Konsole
. -
Wählen Sie die App aus, für die diff-basierte Backend-Builds konfiguriert werden sollen.
-
Wählen Sie im Navigationsbereich Hosting, Umgebungsvariablen aus.
-
Wählen Sie im Abschnitt Umgebungsvariablen die Option Variablen verwalten aus.
-
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
-
Geben
AMPLIFY_DIFF_BACKEND
Sie im Abschnitt Variablen verwalten unter Variable den Wert ein. -
Geben Sie für Wert
true
ein.
-
-
Um Diff-basierte Backend-Builds zu deaktivieren
-
Führen Sie eine der folgenden Aktionen aus:
-
Suchen
AMPLIFY_DIFF_BACKEND
Sie im Abschnitt Variablen verwalten nach. Geben Sie für Wertfalse
ein. -
Entfernen Sie die
AMPLIFY_DIFF_BACKEND
Umgebungsvariable.
-
-
-
-
Wählen Sie Speichern.