Schritt 4: Stellen Sie Ihre Hello World-Anwendung bereit - AWS CodeDeploy

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.

Schritt 4: Stellen Sie Ihre Hello World-Anwendung bereit

Jetzt stellen Sie die Version der Hello World-Beispielanwendung bereit, die Sie auf Amazon S3 hochgeladen haben. Sie verwenden die AWS CLI oder die CodeDeploy Konsole, um die Version bereitzustellen und den Fortschritt der Bereitstellung zu überwachen. Im Anschluss an die Bereitstellung der Anwendungsrevision überprüfen Sie die Ergebnisse.

Stellen Sie die Revision Ihrer Anwendung bereit mit CodeDeploy

Sie können Ihre Anwendung mithilfe der CLI oder der Konsole bereitstellen.

Um Ihre Anwendungsversion (CLI) bereitzustellen

  1. Zuerst ist für die Bereitstellung eine Bereitstellungsgruppe erforderlich. Bevor Sie die Bereitstellungsgruppe erstellen, benötigen Sie jedoch eine ServicerolleARN. Eine Servicerolle ist eine IAM Rolle, die einem Dienst die Erlaubnis erteilt, in Ihrem Namen zu handeln. In diesem Fall erteilt die Servicerolle die CodeDeploy Erlaubnis, auf Ihre EC2 Amazon-Instances zuzugreifen, um deren EC2 Amazon-Instance-Tags zu erweitern (zu lesen).

    Sie sollten bereits anhand der Anweisungen unter Erstellen Sie eine Servicerolle (CLI) eine Service-Rolle erstellt haben. Informationen zur ARN Servicerolle finden Sie unterRufen Sie die Servicerolle ARN (CLI) ab .

  2. Nachdem Sie das habenARN, rufen Sie den create-deployment-group Befehl auf, um eine Bereitstellungsgruppe mit dem Namen der HelloWorld_DepGroup angegebenen Anwendung zu erstellen. Verwenden Sie dazu das EC2 Amazon-Instanz-Tag named CodeDeployDemo und die Bereitstellungskonfiguration mit dem CodeDeployDefault.OneAtATime Namen der ServicerolleARN: HelloWorld_App

    aws deploy create-deployment-group --application-name HelloWorld_App --deployment-group-name HelloWorld_DepGroup --deployment-config-name CodeDeployDefault.OneAtATime --ec2-tag-filters Key=Name,Value=CodeDeployDemo,Type=KEY_AND_VALUE --service-role-arn serviceRoleARN
    Anmerkung

    Der create-deployment-groupBefehl unterstützt die Erstellung von Triggern, die dazu führen, dass SNS Amazon-Benachrichtigungen über bestimmte Ereignisse in Bereitstellungen und Instances an Abonnenten gesendet werden. Der Befehl unterstützt auch Optionen für das automatische Rollback von Bereitstellungen und die Einrichtung von Alarmen, um Bereitstellungen zu beenden, wenn die Überwachungsschwellenwerte in CloudWatch Amazon-Alarmen erreicht werden. Befehle für diese Aktionen sind in diesem Tutorial nicht enthalten.

  3. Bevor Sie eine Bereitstellung erstellen, muss der CodeDeploy Agent auf den Instances in Ihrer Bereitstellungsgruppe installiert sein. Sie können den Agenten über die Befehlszeile mit folgendem Befehl mit AWS Systems Manager installieren:

    aws ssm create-association --name AWS-ConfigureAWSPackage --targets Key=tag:Name,Values=CodeDeployDemo --parameters action=Install,name=AWSCodeDeployAgent --schedule-expression "cron(0 2 ? * SUN *)"

    Dieser Befehl erstellt eine Verknüpfung in Systems Manager State Manager, die den CodeDeploy Agenten installiert und dann versucht, ihn jeden Sonntagmorgen um 2:00 Uhr zu aktualisieren. Weitere Informationen zum CodeDeploy Agenten finden Sie unter Mit dem CodeDeploy Agenten arbeiten. Weitere Informationen zu Systems Manager finden Sie unter Was ist AWS Systems Manager.

  4. Rufen Sie nun den Befehl create-deployment zum Erstellen einer Bereitstellung auf, die der Anwendung HelloWorld_App, der Bereitstellungskonfiguration CodeDeployDefault.OneAtATime und der Bereitstellungsgruppe HelloWorld_DepGroup zugeordnet ist, unter Verwendung der Anwendungrevision HelloWorld_App.zip im Bucket amzn-s3-demo-bucket:

    aws deploy create-deployment --application-name HelloWorld_App --deployment-config-name CodeDeployDefault.OneAtATime --deployment-group-name HelloWorld_DepGroup --s3-location bucket=amzn-s3-demo-bucket,bundleType=zip,key=HelloWorld_App.zip

Mit der Konsole stellen Sie die Anwendungsrevision wie folgt bereit:

  1. Bevor Sie die CodeDeploy Konsole zum Bereitstellen Ihrer Anwendungsversion verwenden können, benötigen Sie eine ServicerolleARN. Eine Servicerolle ist eine IAM Rolle, die einem Dienst die Erlaubnis erteilt, in Ihrem Namen zu handeln. In diesem Fall erteilt die Servicerolle die CodeDeploy Erlaubnis, auf Ihre EC2 Amazon-Instances zuzugreifen, um deren EC2 Amazon-Instance-Tags zu erweitern (zu lesen).

    Sie sollten bereits anhand der Anweisungen unter Erstellen Sie eine Servicerolle (Konsole) eine Service-Rolle erstellt haben. Informationen zur ARN Servicerolle finden Sie unterRufen Sie die Servicerolle ARN ab (Konsole) .

  2. Da Sie nun über die verfügenARN, können Sie die CodeDeploy Konsole verwenden, um die Revision Ihrer Anwendung bereitzustellen.

    Melden Sie sich bei der an AWS Management Console und öffnen Sie die CodeDeploy Konsole unter https://console.aws.amazon.com/codedeploy.

    Anmerkung

    Melden Sie sich mit demselben Benutzer an, den Sie eingerichtet haben. Erste Schritte mit CodeDeploy

  3. Erweitern Sie im Navigationsbereich die Option Bereitstellen und wählen Sie dann Anwendungen aus.

  4. Wählen Sie HelloWorld_App.

  5. Wählen Sie auf der Registerkarte Deployment groups (Bereitstellungsgruppen), die Option Create deployment group (Bereitstellungsgruppe erstellen) aus.

  6. Geben Sie unter Deployment group name (Name der Bereitstellungsgruppe) HelloWorld_DepGroup ein.

  7. Wählen Sie unter Service Role (Servicerolle) den Namen der Servicerolle aus.

  8. Wählen Sie unter Deployment type (Bereitstellungstyp) die Option In-place (Lokal) aus.

  9. Wählen Sie unter Umgebungskonfiguration die Option EC2Amazon-Instances aus.

  10. Behalten Sie unter Agentenkonfiguration mit AWS Systems Manager die Standardeinstellungen bei.

  11. Geben Sie für Key (Schlüssel) Name ein.

  12. Geben Sie unter Value (Wert) CodeDeployDemo ein.

  13. Wählen Sie unter Bereitstellungskonfiguration die OptionCodeDeployDefault. OneAtATime.

  14. Deaktivieren Sie unter Load Balancer die Option Enable load balancing (Load Balancing aktivieren).

  15. Wählen Si Create deployment group (Bereitstellungsgruppe erstellen).

  16. Wählen Sie Create deployment.

  17. Wählen Sie in der Bereitstellungsgruppe die Option HelloWorld_ DepGroup

  18. Wählen Sie unter Revisionstyp die Option Meine Anwendung ist in Amazon S3 gespeichert und geben Sie dann unter Revisionsort den Speicherort der Version der Hello World-Beispielanwendung ein, die Sie zuvor auf Amazon S3 hochgeladen haben. Ermitteln Sie den Speicherort wie folgt:

    1. Öffnen Sie die Amazon S3 S3-Konsole unter https://console.aws.amazon.com/s3/.

    2. Wählen Sie in der Liste der Buckets amzn-s3-demo-bucket aus (oder den Namen des Buckets, in den Sie Ihre Anwendungsrevision hochgeladen haben).

    3. Wählen Sie in der Objektliste _App.zip aus. HelloWorld

    4. Klicken Sie auf der Registerkarte Overview (Übersicht) auf Copy Path (Pfad kopieren).

    5. Kehren Sie zur CodeDeploy Konsole zurück, und fügen Sie in Revision Location den Feldwert Link ein.

  19. Wählen Sie für Revision file type (Revisionsdateityp) die Option .zip aus.

  20. (Optional) Geben Sie unter Deployment description (Bereitstellungsbeschreibung) einen Kommentar ein.

  21. Wählen Sie Create deployment. Auf der Seite Deployments werden nun Informationen zu der neu erstellten Bereitstellung angezeigt.

Überwachen Sie Ihre Bereitstellung und beheben Sie Fehler

Verwenden Sie die Konsole AWS CLI oder die Konsole, um Ihre Bereitstellung zu überwachen und Fehler zu beheben.

Um Ihre Bereitstellung zu überwachen und Fehler zu beheben (CLI)

  1. Fordern Sie die ID der Bereitstellung an, indem Sie den Befehl list-deployments für die Anwendung HelloWorld_App und die Bereitstellungsgruppe HelloWorld_DepGroup aufrufen:

    aws deploy list-deployments --application-name HelloWorld_App --deployment-group-name HelloWorld_DepGroup --query "deployments" --output text
  2. Rufen Sie den Befehl get-deployment mit der Bereitstellungs-ID auf:

    aws deploy get-deployment --deployment-id deploymentID --query "deploymentInfo.status" --output text
  3. Der Befehl gibt den allgemeinen Status der Bereitstellung zurück. Wurde die Bereitstellung erfolgreich abgeschlossen, lautet der Wert Succeeded.

    Wenn der Gesamtstatus lautetFailed, können Sie Befehle wie list-deployment-instancesund aufrufen, get-deployment-instanceum Fehler zu beheben. Weitere Optionen für die Problembehebung finden Sie unter Analysieren von Protokolldateien zur Untersuchung von Bereitstellungsfehlern auf Instances.

Über die Konsole können Sie die Bereitstellung wie folgt überwachen und Probleme beheben:

Auf der Seite Bereitstellungen in der CodeDeploy Konsole können Sie den Status Ihrer Bereitstellung in der Spalte Status überwachen.

Weitere Informationen zu Ihrer Bereitstellung können Sie wie nachfolgend beschrieben abrufen. Dies ist insbesondere nützlich, falls in der Spalte Status ein anderer Wert als Succeeded steht:

  1. Wählen Sie in der Tabelle Deployments (Bereitstellungen) die ID Ihrer Bereitstellung aus. Falls eine Bereitstellung fehlschlägt, wird auf der Detailseite der Bereitstellung eine Meldung mit dem Grund des Fehlschlagens angezeigt.

  2. . Weitere Informationen zu den Instanzen der Bereitstellung werden angezeigt. Wenn eine Bereitstellung fehlschlägt, können Sie möglicherweise feststellen, auf welchen EC2 Amazon-Instances und in welchem Schritt die Bereitstellung fehlgeschlagen ist.

  3. Wenn Sie weitere Fehler beheben möchten, können Sie eine Technik wie View Instance Details verwenden. Sie können auch die Bereitstellungsprotokolldateien auf einer EC2 Amazon-Instance analysieren. Weitere Informationen finden Sie unter Analysieren von Protokolldateien zur Untersuchung von Bereitstellungsfehlern auf Instances.

Überprüfen Sie Ihre Bereitstellung

Überprüfen Sie nach der erfolgreichen Bereitstellung, ob die Installation funktioniert. Verwenden Sie die öffentliche DNS Adresse der EC2 Amazon-Instance, um die Webseite in einem Webbrowser anzuzeigen. (Um den öffentlichen DNS Wert abzurufen, wählen Sie in der EC2 Amazon-Konsole die EC2 Amazon-Instance aus und suchen Sie auf der Registerkarte Beschreibung nach dem Wert unter Öffentlich DNS.)

Wenn die öffentliche DNS Adresse Ihrer EC2 Amazon-Instance beispielsweise lautetec2-01-234-567-890.compute-1.amazonaws.com, würden Sie Folgendes verwendenURL:

http://ec2-01-234-567-890.compute-1.amazonaws.com

Wenn der Vorgang erfolgreich war, sollten Sie die Webseite „Hello World!“ sehen.