Kontinuierliche Bereitstellung einer modernen AWS Amplify Amplify-Webanwendung aus einem AWS-Repository CodeCommit - AWS Prescriptive Guidance

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.

Kontinuierliche Bereitstellung einer modernen AWS Amplify Amplify-Webanwendung aus einem AWS-Repository CodeCommit

Erstellt von Deekshitulu Pentakota (AWS) und Sai Katakam (AWS)

Umgebung: PoC oder Pilotprojekt

Technologien: Web- und mobile Apps DevOps; Modernisierung

AWS-Dienste: AWS Amplify; AWS CodeCommit

Übersicht

Moderne Webanwendungen sind als Single-Page-Anwendungen (SPAs) aufgebaut, die alle Anwendungskomponenten in statische Dateien packen. Mithilfe von AWS Amplify Hosting können Sie eine CI/CD-Pipeline (Continuous Integration and Continuous Deployment) aufbauen, die eine moderne Webanwendung erstellt, bereitstellt und hostet, die in einem Git-basierten Repository verwaltet wird. Wenn Sie Amplify Hosting mit dem Code-Repository verbinden, initiiert jeder Commit einen einzigen Workflow zur Bereitstellung des Frontends und Backends der Anwendung. Der Vorteil dieses Ansatzes besteht darin, dass die Webanwendung erst aktualisiert wird, nachdem die Bereitstellung erfolgreich abgeschlossen wurde, wodurch Inkonsistenzen zwischen Frontend und Backend vermieden werden.

In diesem Muster verwenden Sie ein CodeCommit AWS-Repository, um Ihre moderne Webanwendung zu verwalten. Die Beispiel-Webanwendung in dieser Anleitung verwendet das React SPA-Framework. Amplify Hosting unterstützt jedoch viele andere SPA-Frameworks wie Angular, Vue, Next.js und unterstützt auch Single-Site-Generatoren wie Gatsby, Hugo und Jekyll.

Dieses Muster richtet sich an AWS-Entwickler, die Erfahrung mit den folgenden Services und Konzepten haben:

  • AWS CodeCommit

  • AWS Amplify Hosting

  • React

  • JavaScript

  • Node.js

  • npm

  • Git

Voraussetzungen und Einschränkungen

Voraussetzungen

Einschränkungen

  • Dieses Muster behandelt nicht die Entwicklung und Integration eines Backends für die Amplify-Anwendung, wie z. B. eine API, Authentifizierung oder Datenbank. Weitere Informationen zu Backends finden Sie unter Erstellen eines Backends in der Amplify-Dokumentation.

Produktversionen

  • AWS-CLI Version 2.0

  • Node.js Version 16.x oder höher

Architektur

Zieltechnologie-Stack

  • CodeCommitAWS-Repository mit einem React-SPA

  • AWS Amplify Hosting-Arbeitsablauf

Zielarchitektur

Architekturdiagramm der Bereitstellung einer Web-App aus einem CodeCommit Repo und des Hostings mit AWS Amplify

Tools

AWS-Services

  • AWS Amplify Hosting bietet einen Git-basierten Workflow für das Hosten serverloser Full-Stack-Webanwendungen mit kontinuierlicher Bereitstellung.

  • AWS CodeCommit ist ein Versionskontrollservice, mit dem Sie Git-Repositorys privat speichern und verwalten können, ohne Ihr eigenes Quellcodeverwaltungssystem verwalten zu müssen.

  • AWS Identity and Access Management (IAM) hilft Ihnen dabei, den Zugriff auf Ihre AWS-Ressourcen sicher zu verwalten, indem kontrolliert wird, wer authentifiziert und autorisiert ist, diese zu verwenden.

Andere Tools

  • Node.js ist eine ereignisgesteuerte JavaScript Laufzeitumgebung, die für die Erstellung skalierbarer Netzwerkanwendungen entwickelt wurde.

  • npm ist eine Softwareregistrierung, die in einer Node.js -Umgebung ausgeführt wird und verwendet wird, um Pakete gemeinsam zu nutzen oder auszuleihen und die Bereitstellung von privaten Paketen zu verwalten.

Epen

AufgabeBeschreibungErforderliche Fähigkeiten

Erstellen Sie ein -Repository.

Anweisungen finden Sie in der CodeCommit Dokumentation unter Erstellen eines CodeCommit AWS-Repositorys.

AWS DevOps

Klonen Sie das Repository

Anweisungen finden Sie in der CodeCommit Dokumentation unter Connect zum CodeCommit Repository durch Klonen des Repositorys. Wenn Sie dazu aufgefordert werden, geben Sie die Git-Anmeldeinformationen ein.

App-Developer
AufgabeBeschreibungErforderliche Fähigkeiten

Erstellen Sie eine neue React-Anwendung.

  1. Geben Sie den folgenden Befehl ein, um zum geklonten Repo zu navigieren. Ersetzen Sie es <repo name> durch den Namen Ihres CodeCommit Repos.

    $ cd <repo name>
  2. Geben Sie den folgenden Befehl ein, um eine neue React-Anwendung im geklonten Repository zu erstellen.

    $ npx create-react-app .
  3. Codieren Sie die Anwendung und geben Sie dann den folgenden Befehl ein, um sie zu starten.

    $ npm start

Weitere Informationen zum Erstellen einer benutzerdefinierten React-Anwendung finden Sie in der Anleitung Create React App in der Dokumentation Create React App. Sie können auch eine React-Beispielanwendung für Ihr Amplify-Konto bereitstellen, indem Sie den Anweisungen unter Bereitstellen eines Frontends in der Amplify-Dokumentation folgen.

App-Developer

Erstellen Sie einen Branch und übertragen Sie den Code.

  1. Geben Sie den folgenden Befehl ein, um lokal einen neuen Zweig zu erstellen. Dabei <branch> handelt es sich um den Namen, den Sie dem neuen Zweig zuweisen möchten.

    $ git checkout -b <branch>
  2. Geben Sie den folgenden Befehl ein, um den Branch in das CodeCommit Repository zu übertragen. Dort <branch> befindet sich der Name, den Sie im vorherigen Schritt zugewiesen haben. Weitere Informationen finden Sie unter Mit Commits arbeiten.

    $ git push --set-upstream origin <branch>
App-Developer
AufgabeBeschreibungErforderliche Fähigkeiten

Connect Amplify mit dem Repository.

Anweisungen finden Sie unter Ein Repository Connect in der Amplify Hosting-Dokumentation. Wählen Sie AWS CodeCommit und das Repository und den Branch aus, die Sie zuvor erstellt haben.

App-Developer

Definieren Sie die Frontend-Build-Einstellungen.

Anweisungen finden Sie unter Bestätigen der Build-Einstellungen für das Frontend in der Amplify Hosting-Dokumentation. Akzeptieren Sie die Standardeinstellungen oder geben Sie Folgendes ein.

Build settings: version: 0.1 frontend: phases: preBuild: commands: - npm ci build: commands: - npm run build artifacts: baseDirectory: build files: - '**/*' cache: paths: - node_modules/**/*
App-Developer

Überprüfen und bereitstellen.

Anweisungen finden Sie unter Speichern und Bereitstellen in der Amplify Hosting-Dokumentation. Warten Sie, bis der Bereitstellungsvorgang abgeschlossen ist.

App-Developer
AufgabeBeschreibungErforderliche Fähigkeiten

Überprüfen Sie die erste Bereitstellung.

Wenn der Bereitstellungsvorgang abgeschlossen ist, wählen Sie unter Domain den Link aus. Stellen Sie sicher, dass die Anwendung wie erwartet funktioniert.

App-Developer

Senden Sie eine Änderung in das Code-Repository.

Bearbeiten Sie den Code auf Ihrer lokalen Workstation und übertragen Sie die Änderungen in das CodeCommit Repository. Amplify Hosting erkennt die Änderung im Repository und startet automatisch den Build- und Bereitstellungsprozess. Vergewissern Sie sich, dass die Anwendungsupdates auf der Domain sichtbar sind.

App-Developer

Zugehörige Ressourcen

CodeCommit AWS-Dokumentation

Dokumentation zum AWS Amplify Hosting

React-Ressourcen