Übung: Einrichten einer Blau-Grün-Bereitstellung

Abgeschlossen

In dieser Demo untersuchen Sie die Blau-Grün-Bereitstellung.

Schritte

Schauen wir uns nun an, wie eine Releasepipeline zur Implementierung von Blau-Grün-Bereitstellungen verwendet werden kann.

Wir beginnen mit der Erstellung eines neuen Projekts mit einer Releasepipeline, mit der die Vorlage Parts Unlimited erneut bereitgestellt werden kann.

Eine anfängliche App-Bereitstellung

  1. Navigieren Sie in einem Browser zum Azure DevOps Demo Generator (https://azuredevopsdemogenerator.azurewebsites.net), und klicken Sie auf Anmelden.

    Sie werden bei Bedarf aufgefordert, sich anmelden.

  2. Wählen Sie im Fenster Neues Projekt erstellen Ihre Organisation aus. Legen Sie Projektname auf PU Hosted fest, und klicken Sie auf Vorlage auswählen.

    Choose template.

  3. Klicken Sie auf das Projekt PartsUnlimited (nicht auf das Projekt „PartsUnlimited-YAML“), dann auf Vorlage auswählen und schließlich auf Projekt erstellen. Klicken Sie nach Abschluss der Bereitstellung auf Zum Projekt navigieren.

  4. Klicken Sie auf das Hauptmenü für PU Hosted und dann nacheinander auf Pipelines, Builds und Warteschlange und schließlich auf Ausführen, um einen Build zu starten.

    Das Erstellen sollte nun erfolgreich abgeschlossen werden.

    Hinweis

    Warnungen werden möglicherweise angezeigt, können aber für diese exemplarische Vorgehensweise ignoriert werden.

    Build succeeded with warnings.

  5. Klicken Sie im Hauptmenü auf Releases. Da ein Continuous-Integration-Trigger vorhanden war, wurde ein Release versucht. Wir haben das Release jedoch noch nicht konfiguriert, daher ist es fehlgeschlagen. Klicken Sie auf Bearbeiten, um in den Bearbeitungsmodus für das Release zu wechseln.

    Release pipeline edit.

  6. Wählen Sie in der Dropdownliste neben Tasks die Stage „Dev“ aus, und klicken Sie dann darauf, um den Task Azure-Bereitstellung auszuwählen.

  7. Wählen Sie im Bereich Azure-Ressourcengruppenbereitstellung Ihr Azure-Abonnement aus, und klicken Sie bei Aufforderung auf Autorisieren. Wenn die Autorisierung abgeschlossen ist, wählen Sie einen Speicherort für die Web-App aus.

    Hinweis

    Möglicherweise werden Sie zu diesem Zeitpunkt aufgefordert, sich bei Azure anzumelden.

    Resource group deployment.

  8. Klicken Sie in der Aufgabenliste auf Azure App Service-Bereitstellung, um die zugehörigen Einstellungen zu öffnen. Wählen Sie erneut Ihr Azure-Abonnement aus. Legen Sie Bereitstellungsslot auf Staging fest.

    Staging app service deploy.

    Hinweis

    Mit der Vorlage werden ein Produktionswebsite und zwei Bereitstellungsslots erstellt: Dev und Staging. Wir verwenden Staging für unsere „Green“-Website.

  9. Klicken Sie in der Aufgabenliste auf Dev. Wählen Sie im Bereich Agentauftrag die Option Azure Pipelines für Agentpool und windows-neueste für Agentspezifikation aus.

    Agent job configuration.

  10. Klicken Sie im oberen Menü auf Pipelines. Klicken Sie auf die Stage Dev, und benennen Sie sie im Eigenschaftenfenster in Grüne Website um. Klicken Sie auf die Stage QA und dann auf Löschen und Bestätigen. Klicken Sie auf die Stage Produktion und dann auf Löschen und Bestätigen. Klicken Sie auf Speichern und dann auf OK.

    Green site stages complete.

  11. Bewegen Sie den Mauszeiger über der Stage Grüne Website, und klicken Sie auf das Symbol Klonen, wenn es eingeblendet wird. Ändern Sie Stagename in Produktion. Wählen Sie in der Dropdownliste Tasks die Option Produktion aus.

    Production tasks.

  12. Klicken Sie auf den Task Azure App Service-Bereitstellung, und deaktivieren Sie die Option In Slot bereitstellen. Klicken Sie auf Speichern und OK.

    No deploy to slot.

    Die Produktionswebsite wird nicht in einem Bereitstellungsslot bereitgestellt. Sie wird in der Hauptwebsite bereitgestellt.

  13. Klicken Sie auf Release erstellen und dann auf Erstellen, um das neue Release zu erstellen. Klicken Sie nach der Erstellung auf den Releaselink, um den Status anzuzeigen.

    Release link.

    Nach einer Weile sollte die Bereitstellung erfolgreich sein.

    Deployment succeeded for green site and production.

Testen der grünen und Produktionswebsite

  1. Öffnen Sie im Azure-Portal das Blatt der Ressourcengruppe ASPDOTNET, die bei der Bereitstellung des Projekts erstellt wurde. Beachten Sie die Namen der Web-Apps, die bereitgestellt wurden. Klicken Sie auf diese Schaltfläche, um das Blatt Staging* der Web-App zu öffnen. Kopieren Sie links oben die URL.

    Resource group and URL.

  2. Öffnen Sie eine neue Browserregisterkarte, und navigieren Sie zur kopierten URL. Es dauert eine Weile, bis die Anwendung kompiliert ist. Aber dann sollte die grüne Website (im Stagingslot) angezeigt werden.

    Parts Unlimited site on staging.

Hinweis

Sie erkennen, dass der Stagingslot verwendet wird, weil die URL der Website das Suffix -staging enthält.

  1. Öffnen Sie eine weitere neue Browserregisterkarte, und navigieren Sie zur gleichen URL, aber ohne den Slot -staging. Die Produktionswebsite sollte ebenfalls funktionieren.

    Production site.

Hinweis

Lassen Sie beide Browserfenster für später in der exemplarischen Vorgehensweise geöffnet.

Konfigurieren von Blau-Grün-Tausch und Genehmigung

Da nun beide Websites funktionieren, konfigurieren wir die Releasepipeline für die Blau-Grün-Bereitstellung.

  1. Klicken Sie in Azure DevOps im Hauptmenü des Projekts PU Hosted auf Pipelines, dann auf Releases und anschließend auf Bearbeiten, um zum Bearbeitungsmodus zurückzukehren.

  2. Klicken Sie auf die Stage Produktion, dann auf Löschen und danach auf Bestätigen, um sie zu entfernen. Klicken Sie auf +Hinzufügen, um eine zusätzliche Stage hinzuzufügen, und dann für die Vorlage auf Leerer Auftrag. Legen Sie Blau-Grün tauschen als Stagename fest.

    New swap blue-green stage.

  3. Klicken Sie auf Variablen, und ändern Sie den Bereich von Websitename in Release.

    Variable scope.

  4. Wählen Sie in der Dropdownliste Task die Stage Blau-Grün tauschen aus. Klicken Sie rechts neben Agent-Auftrag auf +, um einen neuen Task hinzuzufügen. Geben Sie im Feld Suchen den Begriff CLI ein.

    CLI search.

  5. Bewegen Sie den Mauszeiger über die Vorlage Azure CLI. Wenn die Schaltfläche Hinzufügen angezeigt wird, klicken Sie darauf. Wählen Sie dann den Task Azure CLI aus, um den Einstellungsbereich zu öffnen.

    Azure CLI settings pane.

  6. Konfigurieren Sie den Bereich wie folgt mit Ihrem Abonnement, mit Inlineskript als Skriptspeicherort und dem Inlineskript:

    Az webapp deployment slot swap -g $(ResourceGroupName) -n $(WebsiteName) --slot Staging --target-slot production

    Azure CLI configured.

  7. Klicken Sie im Menü oberhalb der Taskliste auf Pipeline. Klicken Sie auf das Symbol Bedingungen vor der Bereitstellung für die Stage Blau-Grün tauschen, und aktivieren Sie dann im Bereich Trigger die Option Genehmigungen vor der Bereitstellung.

  8. Konfigurieren Sie sich selbst als genehmigende Person. Klicken Sie auf Speichern und dann auf OK.

    Approver enabled.

Testen des Blau-Grün-Tauschs

  1. Klicken Sie im Hauptmenü PU Hosted auf Repositorys und dann auf Dateien, um die Projektdateien zu öffnen. Navigieren Sie zur folgenden Datei.

    Index view code.

    Wir nehmen eine kosmetische Änderung vor, um zu sehen, dass die Website aktualisiert wurde. Wir ändern das Wort tires in der Hauptseitenrotation in tyres, um ein internationales Publikum anzusprechen.

  2. Klicken Sie auf Bearbeiten, um die Bearbeitung zu ermöglichen. Suchen Sie dann das Wort tires, und ersetzen Sie es durch das Wort tyres. Klicken Sie auf Commit und nochmals auf Commit, um die Änderungen zu speichern und einen Build und ein Release auszulösen.

Update tyres.

  1. Klicken Sie im Hauptmenü auf Pipelines und dann auf Builds. Warten Sie auf den erfolgreichen Abschluss des Continuous Integration-Builds.

    Build succeeded.

  2. Klicken Sie im Hauptmenü auf Releases. Klicken Sie auf diese Schaltfläche, um das neueste Release (am Anfang der Liste) zu öffnen.

    Approval required.

    Sie werden nun aufgefordert, den Tausch der Bereitstellung in die Produktion zu genehmigen. Wir überprüfen zuerst die grüne Bereitstellung.

  3. Aktualisieren Sie die Browserregisterkarte „Grüne Website“ (d. h. den Stagingslot), um zu prüfen, ob Ihre Änderung angezeigt wird. Nun wird das geänderte Wort gezeigt.

    Green site updated.

  4. Aktualisieren Sie die Browserregisterkarte „Produktionswebsite“, und beachten Sie, dass sie immer noch nicht aktualisiert wurde.

    Production site unchanged.

  5. Wenn Sie mit der Änderung zufrieden sind, klicken Sie in den Releasedetails auf Genehmigen, dann erneut auf Genehmigen und warten, bis die Stage abgeschlossen ist.

    Swap completed.

  6. Aktualisieren Sie die Browserregisterkarte „Produktionswebsite“, und überprüfen Sie, ob sie nun über den aktualisierten Code verfügt.

    Production site updated.

Abschließende Hinweise

Wenn Sie die Grüne Website überprüfen, werden Sie feststellen, dass sie die vorherige Version des Codes enthält.

Dies ist der entscheidende Unterschied bei einem Tausch im Vergleich zu einem typischen Bereitstellungsprozess, der von einer Stagingwebsite zur nächsten führt. Sie haben eine schnelle Fallbackoption, indem Sie die Websites bei Bedarf zurücktauschen.