Benutzerdefinierte Build-Images und Live-Paket-Updates - AWS Amplify Hosten

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.

Benutzerdefinierte Build-Images und Live-Paket-Updates

Benutzerdefinierte Build-Images

Sie können ein benutzerdefiniertes Build-Image verwenden, um eine benutzerdefinierte Build-Umgebung für eine Amplify-App bereitzustellen. Wenn Sie bestimmte Abhängigkeiten haben, deren Installation während eines Builds mithilfe des Standardcontainers von Amplify lange dauert, können Sie Ihr eigenes Docker-Image erstellen und während eines Builds darauf verweisen. Bilder können auf Amazon Elastic Container Registry Public gehostet werden.

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 mit vorhandenem Code.

Anforderungen an ein benutzerdefiniertes Build-Image

Damit ein benutzerdefiniertes Build-Image als Amplify-Build-Image funktioniert, muss es die folgenden Anforderungen erfüllen:

  1. Eine Linux-Distribution, die die GNU C-Bibliothek (Glibc) unterstützt, z. B. Amazon Linux, die für die x86-64-Architektur kompiliert wurde.

  2. cURL: Wenn wir Ihr benutzerdefiniertes Image starten, laden wir unseren Build Runner in Ihrem Container herunter, weshalb cURL vorhanden sein muss. Wenn diese Abhängigkeit fehlt, schlägt der Build sofort ohne Ausgabe fehl, da unser Build-Runner keine Ausgabe erzeugen kann.

  3. Git: Zum Klonen des Git-Repositorys muss Git im Image installiert sein. Wenn diese Abhängigkeit fehlt, schlägt der Schritt zum Klonen des Repositorys fehl.

  4. OpenSSH: Um Ihr Repository sicher zu klonen, benötigen wir OpenSSH, um den SSH-Schlüssel während des Builds vorübergehend einzurichten. Das OpenSSH-Paket stellt die Befehle bereit, die der Build-Runner dafür benötigt.

  5. Bash und The Bourne Shell: Diese beiden Hilfsprogramme werden verwendet, um Befehle während der Build-Zeit auszuführen. Wenn sie nicht installiert sind, schlagen Ihre Builds möglicherweise vor dem Start fehl.

  6. Node.js+npm: Unser Build-Runner installiert Node nicht. Stattdessen ist es darauf angewiesen, dass Node und NPM im Image installiert sind. Dies ist nur für Builds erforderlich, die NPM-Pakete oder Node-spezifische Befehle erfordern. Wir empfehlen jedoch dringend, sie zu installieren, da der Amplify Build Runner diese Tools verwenden kann, um die Build-Ausführung zu verbessern, wenn sie vorhanden sind. Die Paket-Override-Funktion von Amplify verwendet NPM, um das Hugo-Extended-Paket zu installieren, wenn Sie eine Überschreibung für Hugo festlegen.

Die folgenden Pakete sind nicht erforderlich, wir empfehlen Ihnen jedoch dringend, sie zu installieren.

  1. NVM (Node Version Manager): Wir empfehlen Ihnen, diesen Versionsmanager zu installieren, wenn Sie mit verschiedenen Versionen von umgehen müssenNode. Wenn Sie eine Überschreibung festlegen, werden mit der Paket-Override-Funktion von Amplify NVM die Versionen von Node.js vor jedem Build geändert.

  2. Wget: Amplify kann das Wget Hilfsprogramm verwenden, um Dateien während des Build-Prozesses herunterzuladen. Wir empfehlen, dass Sie es in Ihrem benutzerdefinierten Image installieren.

  3. Tar: Amplify kann das Tar Hilfsprogramm verwenden, um heruntergeladene Dateien während des Build-Prozesses zu dekomprimieren. Wir empfehlen, dass Sie es in Ihrem benutzerdefinierten Image installieren.

Konfiguration eines benutzerdefinierten Build-Images

So konfigurieren Sie ein in Amazon ECR gehostetes benutzerdefiniertes Build-Image
  1. Informationen zum Einrichten eines öffentlichen Amazon ECR-Repositorys mit einem Docker-Image finden Sie unter Erste Schritte im Amazon ECR Public User Guide.

  2. Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amplify-Konsole.

  3. Wählen Sie die App aus, für die Sie ein benutzerdefiniertes Build-Image konfigurieren möchten.

  4. Wählen Sie im Navigationsbereich Hosting, Build-Einstellungen aus.

  5. Wählen Sie auf der Seite mit den Build-Einstellungen im Abschnitt Build-Image-Einstellungen die Option Bearbeiten aus.

  6. Erweitern Sie auf der Seite mit den Build-Image-Einstellungen bearbeiten das Menü Build-Image und wählen Sie Benutzerdefiniertes Build-Image aus.

  7. Geben Sie den Namen des Amazon ECR Public Repos ein, das Sie in Schritt eins erstellt haben. Hier wird Ihr Build-Image gehostet. Wenn der Name Ihres Repos beispielsweise ecr-examplerepo lautet, würden Sie Folgendes eingeben. public.ecr.aws/xxxxxxxx/ecr-examplerepo

  8. Wählen Sie Speichern.

Live-Paket-Updates

Live-Paket-Updates ermöglichen es Ihnen, Versionen von Paketen und Abhängigkeiten anzugeben, die im Amplify-Standard-Build-Image verwendet werden sollen. Das Standard-Build-Image enthält mehrere vorinstallierte Pakete und Abhängigkeiten (z. B. Hugo, Amplify CLI, Yarn usw.). Bei Live-Paket-Updates können Sie die Version dieser Abhängigkeiten überschreiben und entweder eine bestimmte Version angeben oder sicherstellen, dass immer die neueste Version installiert ist.

Wenn Live-Paket-Updates aktiviert sind, aktualisiert der Build Runner vor der Ausführung Ihres Builds zunächst die angegebenen Abhängigkeiten (oder führt ein Downgrade durch). Dadurch erhöht sich die Erstellungszeit proportional zu der Zeit, die für die Aktualisierung der Abhängigkeiten benötigt wird. Der Vorteil besteht jedoch darin, dass Sie sicherstellen können, dass dieselbe Version einer Abhängigkeit zum Erstellen Ihrer App verwendet wird.

Warnung

Wenn Sie die Version Node.js auf die neueste Version setzen, schlagen Builds fehl. Stattdessen müssen Sie eine exakte Version von Node.js angeben, z. B. 1821.5, oderv0.1.2.

Konfiguration von Live-Paket-Updates

Um Live-Paket-Updates zu konfigurieren
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amplify-Konsole.

  2. Wählen Sie die App aus, für die Sie Live-Paket-Updates konfigurieren möchten.

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

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

  5. Wählen Sie auf der Seite Build-Image-Einstellungen bearbeiten in der Liste Live-Paket-Updates die Option Neu hinzufügen aus.

  6. Wählen Sie unter Package die Abhängigkeit aus, die Sie überschreiben möchten.

  7. Behalten Sie für Version entweder die neueste Standardversion bei oder geben Sie eine bestimmte Version der Abhängigkeit ein. Wenn Sie Latest verwenden, wird die Abhängigkeit immer auf die neueste verfügbare Version aktualisiert.

  8. Klicken Sie auf Speichern.