Erste Schritte mit AWS
Erstellen einer Full-Stack-React-Anwendung
Erstellen Sie eine einfache Web-Anwendung mit AWS Amplify
React-Anwendung bereitstellen und hosten
Modul 1: React-Web-Anwendung bereitstellen und hosten
In diesem Modul erstellen Sie eine React-Anwendung und stellen sie mithilfe des AWS-Amplify-Webhosting-Service in der Cloud bereit
Übersicht
AWS Amplify bietet einen Git-basierten CI/CD Workflow zum Entwickeln, Bereitstellen und Hosten von einseitigen Webanwendungen oder statischen Websites mit Serverless-Backends. Sobald ein Git-Repository verbunden wurde, bestimmt Amplify automatisch die Entwicklungseinstellungen für das Frontend-Framework und alle Serverless Backend-Ressourcen, die über die Amplify-Befehlszeilenschnittstelle konfiguriert wurden.
In diesem Modul erstellen wir zunächst eine neue React-Anwendung und übertragen sie in ein GitHub-Repository. Anschließend verbinden wir das Repository mit dem AWS Amplify-Webhosting und stellen es in einem global verfügbaren Content Delivery Network (CDN) bereit, das auf einer amplifyapp.com-Domain gehostet wird. Als Nächstes demonstrieren wir die Möglichkeiten der kontinuierlichen Bereitstellung, indem wir Änderungen an der React-Anwendung vornehmen und eine neue Version in den Hauptbereich übertragen, wodurch automatisch eine neue Bereitstellung gestartet wird.
Was Sie erreichen werden
- Erstellen einer React-Anwendung
- Initialisieren eines GitHub-Repositorys
- Bereitstellen Ihrer App mit AWS Amplify
- Code-Änderungen implementieren und Ihre Anwendung neu bereitstellen
Wichtige Konzepte
React-Anwendung – React ist eine JavaScript-Webanwendungsbibliothek, mit der Entwickler schnell leistungsstarke Einzelseiten erstellen können.
Git – Ein Versionskontrollsystem, mit dem Entwickler Dateien speichern und Beziehungen zwischen Dateien und Verzeichnissen, Versionen und Änderungen an den Dateien pflegen und aktualisieren können.
Benötigte Zeit
10 Minuten
Verwendete Services
Implementierung
-
Erstellen einer neuen React-Anwendung
Die einfachste Möglichkeit zum Erstellen einer React-Anwendung ist die Verwendung des Befehls create-react-app. Installieren Sie dieses Paket mit dem folgenden Befehl in Ihrer Eingabeaufforderung oder Ihrem Terminal:
npx create-react-app amplifyapp cd amplifyapp npm start
-
Initialisieren des GitHub-Repositorys
In diesem Schritt erstellen Sie ein GitHub-Repository und übertragen Ihren Code in das Repository. Sie benötigen ein GitHub-Konto, um diesen Schritt abzuschließen. Wenn Sie noch kein Konto haben, melden Sie sich hier an.
a. Erstellen Sie ein neues GitHub-Repository für Ihre Anwendung.
b. Öffnen Sie ein neues Terminal und navigieren Sie zurück zum Stammordner Ihrer Anwendung, z. B. amplifyapp.
c. Durch die Verwendung von create-react-app wird das Git-Repository automatisch initialisiert und eine erste Übergabe durchgeführt. Wenn Sie versuchen, eine vorhandene React-Anwendung bereitzustellen, bei der Git nicht initialisiert wurde, müssen Sie unbedingt die folgenden Befehle eingeben, bevor Sie fortfahren:
git init git add . git commit -m "initial commit"
d. Wenn Sie GitHub noch nie auf Ihrem Computer verwendet haben, befolgen Sie diese Schritte, bevor Sie die Verbindung zu Ihrem Konto weiterhin zulassen.
Übertragen Sie die Anwendung auf das neue GitHub-Repository, indem Sie die folgenden Befehle in Ihrer Befehlszeilenschnittstelle ausführen:
git remote add origin [email protected]:username/reponame.git git branch -M main git push -u origin main
-
Anmelden bei der AWS-Managementkonsole
Öffnen Sie die AWS-Managementkonsole in einem neuen Browserfenster, sodass Sie diese schrittweise Anleitung geöffnet halten können. Wenn der Bildschirm vollständig geladen ist, geben Sie Ihren Benutzernamen und das Passwort ein, um zu beginnen. Geben Sie dann Amplify in die Suchleiste ein und wählen Sie AWS Amplify aus, um die Servicekonsole zu öffnen.
-
Bereitstellen Ihrer App mit AWS Amplify
In diesem Schritt verbinden Sie das GitHub-Repository, das Sie gerade im AWS-Amplify-Service erstellt haben. Damit können Sie Ihre App in AWS entwickeln, bereitstellen und hosten.
a. Wählen Sie in der AWS-Amplify-Servicekonsole die Option Erste Schritte unter Amplify Hosting aus.
b. Wählen Sie GitHub als Repository-Service und dann Weiter aus.
c. Authentifizieren Sie sich bei GitHub und kehren Sie zur Amplify-Konsole zurück. Wählen Sie das zuvor erstellte Repository und den Hauptbereich aus und wählen Sie dann Weiter aus.
d. Akzeptieren Sie die standardmäßigen Aufbaueinstellungen und wählen Sie Weiter aus.
e. Überprüfen Sie die endgültigen Details und wählen Sie Speichern und bereitstellen aus.
f. AWS Amplify wird nun Ihren Quellcode erstellen und Ihre Bereitstellung der Amplify-Anwendung unter https://...amplifyapp.com durchführen.
g. Sobald die Erstellung abgeschlossen ist, wählen Sie das Miniaturbild aus, um zu sehen, wie Ihre Web-App ausgeführt wird.
-
Automatisches Bereitstellen von Codeänderungen
In diesem Schritt nehmen Sie mit Ihrem Texteditor einige Änderungen am Code vor und übertragen die Änderungen in den Hauptbereich Ihrer Anwendung.
a. Bearbeiten Sie src/App.js mit dem untenstehenden Code und speichern Sie ihn.
import React from 'react'; import logo from './logo.svg'; import './App.css'; function App() { return ( <div className="App"> <header className="App-header"> <img src={logo} className="App-logo" alt="logo" /> <h1>Hello from V2</h1> </header> </div> ); } export default App;
b. Übertragen Sie die Änderungen in der Eingabeaufforderung (Windows) oder im Terminal (macOS) auf GitHub, um automatisch eine neue Erstellung zu starten:
git add . git commit -m “changes for v2” git push origin main
c. Sobald die Erstellung abgeschlossen ist, wählen Sie die Miniaturansicht in der AWS-Amplify-Konsole aus, um Ihre aktualisierte Anwendung anzuzeigen.
Fazit
Sie haben eine React-Anwendung in der AWS Cloud durch Integration mit GitHub und Verwendung von AWS Amplify bereitgestellt. Mit AWS Amplify können Sie Ihre Anwendung fortlaufend in der Cloud bereitstellen und auf einem global verfügbaren CDN hosten.
Als Nächstes werden wir eine lokale Version der Anwendung erstellen, um die Entwicklung fortzusetzen und neue Features hinzuzufügen.