Team-Workflows mit Full-Stack-Apps von Amplify Gen 1 - 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.

Team-Workflows mit Full-Stack-Apps von Amplify Gen 1

Eine Feature-Branch-Bereitstellung besteht aus einem Frontend und einer optionalen Backend-Umgebung. Das Frontend wird erstellt und in einem globalen Content Delivery Network (CDN) bereitgestellt, während das Backend von Amplify Studio oder der Amplify CLI bereitgestellt wird. AWS Informationen zur Einrichtung dieses Bereitstellungsszenarios finden Sie unter. Ein Backend für eine Anwendung erstellen

Amplify Hosting stellt kontinuierlich Backend-Ressourcen wie GraphQL-APIs und Lambda-Funktionen mit Ihren Feature-Branch-Bereitstellungen bereit. Sie können die folgenden Verzweigungsmodelle verwenden, um Ihr Backend und Frontend mit Amplify Hosting bereitzustellen.

Workflow für Funktionsverzweigungen

  • Erstellen Sie mit Amplify Studio oder der Amplify CLI Backend-Umgebungen für Produktion, Test und Entwicklung.

  • Ordnen Sie das Prod-Backend dem Hauptzweig zu.

  • Ordnen Sie das Test-Backend dem Entwicklungszweig zu.

  • Teammitglieder können die Dev-Backend-Umgebung zum Testen einzelner Feature-Branches verwenden.

Ein Diagramm, das zeigt, wie Beziehungen zwischen Backend-Umgebungen und Frontend-Branches zugeordnet werden können.
  1. Installieren Sie die Amplify-CLI, um ein neues Amplify-Projekt zu starten.

    npm install -g @aws-amplify/cli
  2. Initialisieren Sie eine prod-Backend-Umgebung für Ihr Projekt. Wenn Sie kein Projekt haben, erstellen Sie eines mit Bootstrap-Tools wie create-react-app oder Gatsby.

    create-react-app next-unicorn cd next-unicorn amplify init ? Do you want to use an existing environment? (Y/n): n ? Enter a name for the environment: prod ... amplify push
  3. Fügen Sie test- und dev-Backend-Umgebungen hinzu.

    amplify env add ? Do you want to use an existing environment? (Y/n): n ? Enter a name for the environment: test ... amplify push amplify env add ? Do you want to use an existing environment? (Y/n): n ? Enter a name for the environment: dev ... amplify push
  4. Push Code in ein Git-Repository deiner Wahl (in diesem Beispiel gehen wir davon aus, dass du auf Main gepusht hast).

    git commit -am 'Added dev, test, and prod environments' git push origin main
  5. Besuchen Sie Amplify in der AWS Management Console , um Ihre aktuelle Backend-Umgebung zu sehen. Navigieren Sie vom Breadcrumb aus eine Ebene nach oben, um eine Liste aller Backend-Umgebungen anzuzeigen, die auf der Registerkarte Backend-Umgebungen erstellt wurden.

    Ein Screenshot der Amplify-Konsole, der alle Backend-Umgebungen zeigt, die mit einer Amplify-App verknüpft sind.
  6. Wechseln Sie zur Registerkarte Frontend-Umgebungen und verbinden Sie Ihren Repository-Anbieter und Ihren Hauptzweig.

  7. Wählen Sie im Bildschirm mit den Build-Einstellungen eine bestehende Backend-Umgebung aus, um eine kontinuierliche Bereitstellung mit dem Hauptzweig einzurichten. Wählen Sie prod aus der Drop-down-Liste aus und weisen Sie Amplify die Servicerolle zu. Wählen Sie Save and deploy (Speichern und Bereitstellen) aus. Nach Abschluss des Builds erhalten Sie eine Bereitstellung in der Hauptabteilung, die unter https://main.appid.amplifyapp.com verfügbar ist.

    Ein Screenshot der Seite „Build-Einstellungen konfigurieren“ der Amplify-Konsole, der zeigt, wo eine Backend-Umgebung für die Bereitstellung mit einer Frontend-Umgebung ausgewählt werden soll.
  8. Connect den Entwicklungszweig in Amplify (gehen Sie davon aus, dass Develop und Main Branch zu diesem Zeitpunkt identisch sind). Wählen Sie die test-Backend-Umgebung aus.

    Ein Screenshot der Seite zum Hinzufügen eines Repository-Zweigs in der Amplify-Konsole, der zeigt, wo eine Backend-Umgebung für die Bereitstellung mit einem Branch ausgewählt werden soll.
  9. Amplify ist jetzt eingerichtet. Sie können jetzt neue Funktionen in einer Funktionsverzweigung verwenden. Fügen Sie Backend-Funktionen mithilfe der dev-Backend-Umgebung aus Ihrer lokalen Workstation hinzu.

    git checkout -b newinternet amplify env checkout dev amplify add api ... amplify push
  10. Wenn die Arbeit mit der Funktion abgeschlossen ist, führen Sie einen Commit für Ihren Code durch und erstellen Sie eine Pull-Anforderung zur internen Überprüfung.

    git commit -am 'Decentralized internet v0.1' git push origin newinternet
  11. Um eine Vorschau der Änderungen anzuzeigen, rufen Sie die Amplify-Konsole auf und verbinden Sie Ihren Feature-Branch. Hinweis: Wenn Sie das auf Ihrem System AWS CLI installiert haben (nicht die Amplify-CLI), können Sie eine Filiale direkt von Ihrem Terminal aus verbinden. Um nach Ihrer appid zu suchen, gehen Sie zu App settings > General > AppARN (App-Einstellungen > Allgemein > AppARN: arn:aws:amplify:<region>:<region>:apps/<appid>

    aws amplify create-branch --app-id <appid> --branch-name <branchname> aws amplify start-job --app-id <appid> --branch-name <branchname> --job-type RELEASE
  12. Sie können Ihre Funktion über https://newinternet.appid.amplifyapp.com für Ihre Teamkollegen freigeben. Wenn alles korrekt ist, führen Sie die Pull-Anforderung mit der develop-Verzweigung zusammen.

    git checkout develop git merge newinternet git push
  13. Damit wird ein Build gestartet, der sowohl das Backend als auch das Frontend in Amplify mit einer Filialbereitstellung unter https://dev.appid.amplifyapp.com aktualisiert. Sie können diesen Link für interne Beteiligte freigeben, damit sie die neue Funktion überprüfen können.

  14. Löschen Sie Ihren Feature-Branch aus Git, Amplify und entfernen Sie die Backend-Umgebung aus der Cloud (Sie können jederzeit eine neue einrichten, indem Sie „amplify env checkout prod“ ausführen und „amplify env add“ ausführen).

    git push origin --delete newinternet aws amplify delete-branch --app-id <appid> --branch-name <branchname> amplify env remove dev

GitFlow Arbeitsablauf

GitFlow verwendet zwei Zweige, um den Verlauf des Projekts aufzuzeichnen. Der Hauptzweig verfolgt nur den Release-Code, und der Entwicklungszweig wird als Integrationszweig für neue Funktionen verwendet. GitFlow vereinfacht die parallel Entwicklung, indem neue Entwicklungen von abgeschlossenen Arbeiten isoliert werden. Neue Entwicklungen (z. B. Funktionen und normale Fehlerbehebungen) erfolgen in feature-Verzweigungen. Wenn der Entwickler den Code zur Veröffentlichung freigeben möchte, wird die feature-Verzweigung wieder mit der develop-Verzweigung zur Integration zusammengeführt. Die einzigen Commits für den Hauptzweig sind Zusammenführungen von Release-Branches und Hotfix-Branches (um Fehler im Notfall zu beheben).

Das folgende Diagramm zeigt ein empfohlenes Setup mit. GitFlow Führen Sie einfach die im obigen Abschnitt „Workflow für Funktionsverzweigungen“ beschriebenen Schritte aus.

Ein Diagramm, das ein empfohlenes Setup mit zeigt GitFlow.

Sandbox pro Entwickler

  • Jeder Entwickler in einem Team erstellt eine Sandbox-Umgebung in der Cloud, die vom lokalen Computer unabhängig ist. Auf diese Weise können Entwickler isoliert voneinander arbeiten, ohne die Änderungen anderer Teammitglieder zu überschreiben.

  • Jeder Zweig in Amplify hat sein eigenes Backend. Dadurch wird sichergestellt, dass Amplify das Git-Repository als zentrale Informationsquelle für die Implementierung von Änderungen verwendet, anstatt sich darauf zu verlassen, dass Entwickler im Team ihr Backend oder Frontend manuell von ihren lokalen Computern aus in die Produktion bringen.

Ein Diagramm, das einen Sandbox-Workflow pro Entwickler zeigt.
  1. Installieren Sie die Amplify-CLI, um ein neues Amplify-Projekt zu starten.

    npm install -g @aws-amplify/cli
  2. Initialisieren Sie eine Mary-Backend-Umgebung für Ihr Projekt. Wenn Sie kein Projekt haben, erstellen Sie eines mit Bootstrap-Tools wie create-react-app oder Gatsby.

    cd next-unicorn amplify init ? Do you want to use an existing environment? (Y/n): n ? Enter a name for the environment: mary ... amplify push
  3. Push Code in ein Git-Repository deiner Wahl (in diesem Beispiel gehen wir davon aus, dass du auf Main gepusht hast).

    git commit -am 'Added mary sandbox' git push origin main
  4. Connect dein Repo > Main mit Amplify.

  5. Die Amplify-Konsole erkennt Backend-Umgebungen, die von der Amplify-CLI erstellt wurden. Wählen Sie in der Dropdownliste die Option Neue Umgebung erstellen aus und weisen Sie Amplify die Servicerolle zu. Wählen Sie Save and deploy (Speichern und Bereitstellen) aus. Nach Abschluss des Builds erhalten Sie unter https://main.appid.amplifyapp.com eine Bereitstellung für die Hauptniederlassung mit einer neuen Backend-Umgebung, die mit der Filiale verknüpft ist.

  6. Connect den Entwicklungszweig in Amplify (gehen Sie davon aus, dass Develop und Main Branch zu diesem Zeitpunkt identisch sind) und wählen Sie Create