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
-
Melde dich an bei AWS Management Console und öffne die Amplify-Konsole
. -
Wählen Sie die App aus, für die Sie die Build-Einstellungen bearbeiten möchten.
-
Wählen Sie im Navigationsbereich Hosting und dann Build-Einstellungen aus.
-
Wählen Sie auf der Seite mit den Build-Einstellungen im Abschnitt App-Build-Spezifikation die Option Bearbeiten aus.
-
Geben Sie im Fenster Build-Spezifikation bearbeiten Ihre Aktualisierungen ein.
-
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.
Themen
- Festlegen branchenspezifischer Build-Einstellungen mithilfe von Skripten
- Einen Befehl einrichten, um zu einem Unterordner zu navigieren
- Bereitstellung des Backends mit dem Frontend für eine Gen-1-App
- Einstellung des Ausgabeordners
- Pakete als Teil eines Builds installieren
- Verwenden Sie eine private NPM-Registrierung
- Installieren von OS-Paketen
- Einstellung des Schlüsselwertspeichers für jeden Build
- Den Build für einen Commit überspringen
- Wenn Sie automatische Builds bei jedem Commit ausschalten
- Konfiguration von diff-basiertem Frontend, Build und Deployment
- Konfiguration von diff-basierten Backend-Builds für eine Gen-1-App
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
Einen Befehl einrichten, um zu einem Unterordner zu 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 () 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
-
Melden Sie sich an bei AWS Management Console und öffne 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 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
-
Melden Sie sich bei der an AWS Management Console und öffne 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 Save (Speichern) aus.