Übung – Erstellen von Bereitstellungsplätzen
Ein Bereitstellungsplatz ist eine Instanz einer Web-App, in der Sie eine neue App-Version testen können, bevor Sie sie bereitstellen. Durch das Austauschen von Slots können Sie eine neue Version einer App ohne Ausfallzeiten bereitstellen.
Nehmen wir an, Sie entscheiden sich für die Verwendung von Azure App Service-Bereitstellungsplätzen, um die Bereitstellung neuer Versionen Ihrer Social Media Web App zu optimieren. Sie möchten die Web-App in Azure einrichten und ein oder mehrere Bereitstellungsplätze konfigurieren.
In dieser Übung richten Sie eine Web-App ein, fügen einen neuen Bereitstellungsplatz für staging hinzu und stellen verschiedene Versionen der Web-App für die Produktions- und Stagingplätze bereit.
Von Bedeutung
Sie benötigen Ihr eigenes Azure-Abonnement, um diese Übung abzuschließen, und möglicherweise entstehen Gebühren. Wenn Sie noch kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
Erstellen einer Web-App
Erstellen Sie zunächst eine neue Web-App-Ressource im Azure-Portal.
Melden Sie sich beim Azure-Portal an.
Wählen Sie im Ressourcenmenü oder auf der Startseite die Option "Ressource erstellen" aus. Der Bereich Ressource erstellen wird angezeigt.
Wählen Sie im Ressourcenmenü "Web" und dann in den Ergebnissen "Web App" aus. Der Bereich "Web App erstellen " wird angezeigt.
Füllen Sie auf der Registerkarte Grundlagen die folgenden Werte für jede Einstellung aus.
Konfiguration Wert Projektdetails Abonnement Wählen Sie das Abonnement aus, das Sie verwenden möchten, um die Übung abzuschließen. Ressourcengruppe Wählen Sie den Link "Neuen Erstellen" aus, und geben Sie "mslearn-slots" ein, und wählen Sie "OK" aus. Instanzdetails Name Geben Sie einen eindeutigen Namen ein. Veröffentlichen Code Runtimestapel ASP.NET V4.8 Betriebssystem Fenster Region Wählen Sie eine Region in Ihrer Nähe aus. App Service-Plan Windows-Plan Akzeptieren Sie den Standardwert. SKU und Größe Akzeptieren Sie den Standardwert. Wählen Sie "Weiter" aus: Datenbank.
Wählen Sie "Weiter" aus: Bereitstellung.
Klicken Sie auf Weiter: Netzwerk.
Wählen Sie "Weiter" aus: Überwachung + Sicher, und geben Sie den folgenden Wert für die Einstellung ein.
Konfiguration Wert Application Insights Aktivieren von Application Insights Umschalten auf "Nein" Klicken Sie auf Überprüfen und erstellen und dann auf Erstellen. Warten Sie, bis die Bereitstellung erfolgreich war.
Wenn die Bereitstellung abgeschlossen ist, wählen Sie "Zur Ressource wechseln" aus. Der App-Dienstbereich für Ihre Web-App wird angezeigt.
Konfigurieren der Git-Bereitstellung
Obwohl Sie in dieser Übung viele verschiedene Tools zum Bereitstellen von Code in Ihrer Web-App verwenden können, richten Sie die Web-App so ein, dass sie ein lokales Git-Repository verwendet.
Wählen Sie im Menü "App Service" unter "Bereitstellung" die Option "Bereitstellungscenter" aus. Der Bereich "Bereitstellungscenter " für Ihren App-Dienst wird angezeigt.
Wählen Sie auf der Registerkarte "Einstellungen " für "Quelle" die Option "Lokales Git" und dann auf der Befehlsleiste " Speichern " aus, um Ihre Bereitstellung einzurichten.
Wählen Sie die Registerkarte "Lokale Git/FTPS-Anmeldeinformationen" aus . Geben Sie unter Benutzerbereich einen eindeutigen Benutzernamen und ein Kennwort Ihrer Wahl ein, und wählen Sie dann in der Befehlsleiste "Speichern" aus. Notieren Sie sich den Benutzernamen und das Kennwort für später.
Konfigurieren des Git-Clients und Klonen des Web-App-Quellcodes
Jetzt richten Sie den Git-Client in Cloud Shell ein und verwenden ihn zum Klonen einer Beispielweb-App.
Wählen Sie oben auf der Seite in den globalen Azure-Steuerelementen das Cloud Shell-Symbol aus, um eine Azure Cloud Shell-Sitzung zu starten.
Wenn Sie in der Cloud Shell-Sitzung aufgefordert werden, wählen Sie die Bash-Erfahrung aus und erstellen Sie Speicher für Ihr Abonnement.
Hinweis
Für Cloud Shell ist eine Azure-Speicherressource erforderlich, damit Sie alle in Cloud Shell erstellten Dateien dauerhaft speichern können. Wenn Sie Cloud Shell erstmals öffnen, werden Sie aufgefordert, eine Ressourcengruppe, ein Speicherkonto und eine Azure Files-Freigabe zu erstellen. Dieses Setup wird automatisch für alle zukünftigen Cloud Shell-Sitzungen verwendet.
Geben Sie den folgenden Befehl in der Cloud Shell ein, und ersetzen <Sie Ihren Benutzernamen> durch Ihren bevorzugten Benutzernamen. Dieser Konfigurationswert ist keinem Azure-Konto zugeordnet, sodass Sie den gewünschten Wert verwenden können.
git config --global user.name <your-username>Geben Sie den folgenden Befehl in der Cloud Shell ein, und ersetzen <Sie Ihre E-Mail-Adresse> durch Ihre bevorzugte E-Mail-Adresse. Dieser Konfigurationswert ist keinem Azure-Konto zugeordnet, sodass Sie den gewünschten Wert verwenden können.
git config --global user.email <your-email-address>Geben Sie den folgenden Code ein, um einen
demoappOrdner für den Quellcode zu erstellen und zu öffnen.mkdir demoapp cd demoappGeben Sie den folgenden Code ein, um die Quelle für die Web-App zu klonen und Ihre lokale Kopie zu öffnen.
git clone https://github.com/Azure-Samples/app-service-web-dotnet-get-started.git cd app-service-web-dotnet-get-started
Konfigurieren einer Git-Remote für die Bereitstellung der App in der Produktion
Wir werden git verwenden, um den Quellcode im Produktionsplatz der Web-App bereitzustellen und dann die Git-URL Ihrer App als Remote-Repository einzurichten.
Im Azure-Portal sollte Ihre Web-App aktiv sein. Wählen Sie im Ressourcenmenü Übersicht aus.
Im Bereich "Übersicht" für Ihre Web-App weist der Abschnitt "Essentials " eine URL in der Standarddomäne auf. Die URL enthält Ihren Bereitstellungsnamen für die Web-App.
Hinweis
Wenn keine git clone-URL am Speicherort im vorherigen Screenshot angezeigt wird, aktualisieren Sie das Portal.
Zeigen Sie mit der Maus auf die Git-Klon-URL , und wählen Sie das Symbol "In Zwischenablage kopieren" aus . Dieser Wert enthält auch Ihren Bereitstellungsbenutzernamen.
Führen Sie in Cloud Shell den folgenden Befehl aus, um die Git-Remote mit dem Namen
productionzu konfigurieren. Ersetzen Sie durch\<git-clone-url>den Inhalt, den Sie im vorherigen Schritt in die Zwischenablage kopiert haben.cd app-service-web-dotnet-get-started git remote add production <git-clone-url>Führen Sie den folgenden Befehl aus, um die Web-App im Produktionsplatz bereitzustellen. Wenn Sie zur Eingabe des Kennworts aufgefordert werden, geben Sie das Bereitstellungskennwort ein, das Sie in der vorherigen Aufgabe erstellt haben.
git push productionDie Terminalsitzung identifiziert alle Prozesse, die als Teil der Bereitstellung stattfinden. Warten Sie, bis die Bereitstellung abgeschlossen ist. Es sollte eine erfolgreiche Bereitstellungsbenachrichtigung angezeigt werden.
Im Azure-Portal sollte der Übersichtsbereich weiterhin aktiv sein. Zeigen Sie mit dem Mauszeiger auf die URL. Sie können entweder auf die Datei doppelklicken, um sie auf einer neuen Browserregisterkarte zu öffnen, oder sie kopieren und in eine neue Browserregisterkarte einfügen.
Schließen Sie die Browserregisterkarte, auf der die Web-App angezeigt wird.
Erstellen eines neuen Stagingslots
Für Ihre Web-App haben Sie einen Slot, den Produktionsslot, erstellt und den Quellcode in diesen Slot bereitgestellt. Erstellen wir nun einen Bereitstellungsplatz, in dem Sie neue Versionen Ihrer Web-App bereitstellen können.
Wählen Sie im Azure-Portalmenü " Start" und in Azure-Diensten"Alle Ressourcen" aus. Filtern Sie nach Type == App Service, und klicken Sie dann auf Übernehmen.
Sortieren Sie das Ergebnis nach Typ, und wählen Sie dann den von Ihnen erstellten App-Dienst aus. Der App-Dienstbereich für Ihre Web-App wird angezeigt.
Wählen Sie im Menü "App Service" unter Bereitstellung die Option Bereitstellungsplätze aus. Der Bereich "Bereitstellungsplätze " für Ihren App-Dienst wird angezeigt.
Wählen Sie in der Befehlsleiste +Steckplatz hinzufügen. Der Bereich "Steckplatz hinzufügen " wird angezeigt.
Geben Sie im Feld NameStaging ein, übernehmen Sie die Standardeinstellung für Kloneinstellungen von, und wählen Sie dann Hinzufügen aus.
Nachdem der Bereitstellungsplatz erfolgreich erstellt wurde, wählen Sie "Schließen" aus.
Einrichten der Git-Bereitstellung für den Stagingslot
Lassen Sie uns den neuen Slot so einrichten, dass er git-Bereitstellung verwendet.
Wählen Sie im Azure-Portal die Startseite und dann in Azure-Diensten "Alle Ressourcen" aus.
Sortieren Sie die Ressourcen nach Ressourcengruppe. für die Ressourcengruppe mslearn-slots gibt es zwei App Service-Typen. Bereitstellungsslots werden im Portal als separate Apps dargestellt.
Wählen Sie den Stagingslot aus. Der Übersichtsbereich für Ihren App-Dienst (Steckplatz) wird angezeigt.
Wählen Sie im Menü "Staging" unter "Bereitstellung" die Option "Bereitstellungscenter" aus.
Wählen Sie auf der Registerkarte "Einstellungen " für "Quelle" die Option " Lokales Git" und dann " Speichern " in der Befehlsleiste aus, um die Bereitstellung für staging einzurichten.
Wählen Sie im bereich " Bereitstellungscenter " die Registerkarte " Lokale Git/FTPS-Anmeldeinformationen " aus.
Geben Sie unter "Benutzerbereich" einen Benutzernamen und ein Kennwort Ihrer Wahl ein, und wählen Sie dann " Speichern" aus. Azure aktualisiert Benutzeranmeldeinformationen. Notieren Sie sich den Benutzernamen und das Kennwort für später.
Git konfigurieren, um die App im Staging-Bereich bereitzustellen
Um den Git-Client zum Bereitstellen von Quellcode für den neuen Steckplatz zu verwenden, fügen wir der Git-Konfiguration eine zusätzliche Remoteverbindung hinzu.
Wählen Sie im Menü "App Service " die Option "Übersicht" aus. Wenn Sie aufgefordert werden, das Kennwort für den Benutzernamen zu speichern, den Sie in der vorherigen Aufgabe erstellt haben, wählen Sie "Speichern" aus.
Halten Sie den Mauszeiger über den Wert der Git-Klon-URL im Bereich Übersicht in der Sektion Essentials, und wählen Sie das Symbol In die Zwischenablage kopieren aus. Die URL enthält Ihren Benutzernamen für die Staging-Umgebung.
Hinweis
Wenn die Git-Klon-URL nicht angezeigt wird, aktualisieren Sie das Portal. Die Git-Klon-URL für das Staging unterscheidet sich geringfügig von der URL für den Produktionsslot und enthält den Slotnamen.
Stellen Sie in Cloud Shell sicher, dass Sie sich im Ordner "~/demoapp/app-service-web-dotnet-get-started" befinden, und führen Sie dann den folgenden Befehl aus, indem Sie git-clone-uri< durch die URL ersetzen>, die Sie im vorherigen Schritt kopiert haben.
git remote add staging <git-clone-uri>
Ändern Sie den Quellcode der App und stellen Sie die App im Staging-Slot bereit.
Als Nächstes nehmen wir eine kleine Änderung an den Web-App-Dateien vor, und verwenden Sie dann Git, um die neue Version im Staging-Slot bereitzustellen:
Führen Sie in Cloud Shell den folgenden Befehl aus.
code .Erweitern Sie in der Liste der DATEIENdie Ordner "aspnet-get-started>Views>Home ", und wählen Sie "Index.cshtml" aus.
Suchen Sie den folgenden HTML-Code.
<h1>ASP.NET</h1>Ersetzen Sie diesen Code durch diesen HTML-Code.
<h1>Web App Version 2</h1>Drücken Sie STRG+S , um Ihre Änderungen zu speichern, und drücken Sie dann STRG+Q , um den Editor zu schließen.
Führen Sie in Cloud Shell den folgenden Code aus, um die neue Version der App auf Git zu übernehmen und im Staging-Slot bereitzustellen.
git add . git commit -m "New version of web app." git push stagingWenn Sie dazu aufgefordert werden, geben Sie Ihr Bereitstellungskennwort ein. Benachrichtigungen zu den Vorgängen zum Erstellen und Bereitstellen werden in der Cloud Shell-Sitzung angezeigt. Es sollte angezeigt werden, dass die Bereitstellung erfolgreich war.
Durchsuchen des Stagingslots
Jetzt können Sie die neue Version der Webanwendung anzeigen, indem Sie zur URL für den Staging-Bereitstellungs-Slot navigieren.
Wählen Sie im Azure-Portal im Bereich "Übersicht" für den Stagingplatz die Option "Durchsuchen" in der Befehlsleiste aus, oder wählen Sie die URL in der Standarddomäne aus. Die Startseite für das Staging von Web App Version 2 erscheint in einem Browser-Tab.
Herzlichen Glückwunsch, Sie haben gerade einen Stagingplatz erstellt, der über eine eigene Version des Web App-Codes verfügt, und Sie können Tests darauf ausführen. Denken Sie daran, dass der Produktionsplatz über die vorherige Web-App-Version verfügt, und Benutzer können ihren neuen Code noch nicht sehen.