Tutorial: Bereitstellen einer ASP.NET-App und von Azure SQL-Datenbank-Code mithilfe von Azure DevOps Starter

Azure DevOps Starter bietet eine vereinfachte Umgebung, in der Sie Ihren vorhandenen Code und Ihr Git-Repository verwenden oder eine Beispielanwendung auswählen können, um eine Continuous Integration- und Continuous Delivery-Pipeline (CI/CD) für Azure zu erstellen.

DevOps Starter ermöglicht außerdem:

  • Automatisches Erstellen von Azure-Ressourcen, etwa einer Datenbank in Azure SQL-Datenbank
  • Erstellen und Konfigurieren einer Releasepipeline in Azure Pipelines, die eine Buildpipeline für CI enthält
  • Einrichten einer Releasepipeline für CD
  • Erstellen einer Azure Application Insights-Ressource für die Überwachung

In diesem Lernprogramm lernen Sie Folgendes:

  • Bereitstellen einer ASP.NET-App und von Azure SQL-Datenbank-Code mithilfe von Azure DevOps Starter
  • Konfigurieren von Azure DevOps und eines Azure-Abonnements
  • Überprüfen der CI-Pipeline
  • Überprüfen der CD-Pipeline
  • Committen von Änderungen in Azure Repos und automatisches Bereitstellen dieser Änderungen in Azure
  • Herstellen einer Verbindung mit Azure SQL-Datenbank
  • Bereinigen von Ressourcen

Voraussetzungen

Erstellen eines Projekts in DevOps Projects für eine ASP.NET-App und Azure SQL-Datenbank

Mit DevOps Starter wird eine CI/CD-Pipeline in Azure Pipelines erstellt. Sie können eine neue Azure DevOps-Organisation erstellen oder eine bestehende Organisation verwenden. Ferner werden mit DevOps Starter Azure-Ressourcen wie Azure SQL-Datenbank im Azure-Abonnement Ihrer Wahl erstellt.

  1. Melden Sie sich beim Azure-Portal an.

  2. Geben Sie in das Suchfeld DevOps Starter ein, und wählen sie die Option dann aus. Klicken Sie auf Hinzufügen, um einen neuen zu erstellen.

    Das DevOps Starter-Dashboard

  3. Wählen Sie .NET und anschließend Weiter aus.

  4. Wählen Sie unter Anwendungsframework auswählen die Option ASP.NET aus.

  5. Wählen Sie Datenbank hinzufügen und anschließend Weiter aus. Das Anwendungsframework, das Sie in einem vorherigen Schritt ausgewählt haben, bestimmt den Typ des hier verfügbaren Bereitstellungsziels für den Azure-Dienst.

  6. Wählen Sie Weiter aus.

Konfigurieren von Azure DevOps und eines Azure-Abonnements

  1. Sie können eine neue Azure DevOps-Organisation erstellen oder eine bestehende Organisation auswählen.

  2. Geben Sie einen Namen für Ihr Azure DevOps-Projekt ein.

  3. Wählen Sie Ihre Azure-Abonnementsdienste aus. Wählen Sie optional Ändern aus, um zusätzliche Azure-Konfigurationseinstellungen anzuzeigen und im Abschnitt Anmeldeinformationen für Datenbankserver den Benutzernamen zu ermitteln. Speichern Sie den Benutzernamen für zukünftige Schritte in diesem Tutorial. Wenn Sie diesen optionalen Schritt ausführen, schließen Sie den Azure-Konfigurationsbereich, bevor Sie Fertig auswählen.

  4. Wählen Sie Fertigaus. Nach wenigen Minuten ist der Vorgang abgeschlossen, und das DevOps Starter-Dashboard wird im Azure-Portal geöffnet. Sie können auch direkt über Alle Ressourcen im Azure-Portal zum Dashboard navigieren. Wählen Sie auf der rechten Seite Durchsuchen aus, um Ihre ausgeführte Anwendung anzuzeigen.

Überprüfen der CI-Pipeline

DevOps Starter konfiguriert automatisch eine vollständige CI/CD-Pipeline in Azure Repos. Sie können die Pipeline untersuchen und anpassen. Gehen Sie wie folgt vor, um sich mit der Azure DevOps-Buildpipeline vertraut zu machen:

  1. Wählen Sie oben auf dem DevOps Starter-Dashboard die Option Buildpipelines aus. Auf einer Browserregisterkarte wird die Buildpipeline für Ihr neues Projekt angezeigt.

  2. Zeigen Sie auf das Feld Status, und wählen Sie dann die Auslassungspunkte (...) aus. In einem Menü werden verschiedene Optionen angezeigt, etwa zum Einreihen eines neuen Builds in die Warteschlange, zum Anhalten eines Builds und zum Bearbeiten der Buildpipeline.

  3. Wählen Sie Bearbeiten aus.

  4. In diesem Bereich können Sie sich die verschiedenen Aufgaben ansehen, die Sie für Ihre Buildpipeline ausführen können. Vom Build werden verschiedene Aufgaben durchgeführt. Beispielsweise werden Quellen aus dem Git-Repository abgerufen, Abhängigkeiten wiederhergestellt und für Bereitstellungen verwendete Ausgaben veröffentlicht.

  5. Wählen Sie oben in der Buildpipeline den Buildpipelinenamen aus.

  6. Ersetzen Sie den Namen Ihrer Buildpipeline durch einen aussagekräftigeren Namen, und wählen Sie Speichern und in Warteschlange einreihen und dann Speichern aus.

  7. Wählen Sie unter dem Buildpipelinenamen Verlauf aus. In diesem Bereich wird ein Überwachungsprotokoll mit den letzten Änderungen für den Build angezeigt. An der Buildpipeline vorgenommene Änderungen werden von Azure Pipelines nachverfolgt, sodass Sie verschiedene Versionen vergleichen können.

  8. Wählen Sie Trigger aus. DevOps Starter erstellt automatisch einen CI-Trigger, und mit jedem für das Repository ausgeführten Commit wird ein neuer Build gestartet. Optional können Sie Branches in den CI-Prozess einbeziehen oder davon ausschließen.

  9. Wählen Sie Aufbewahrung aus. Abhängig vom Szenario können Sie Richtlinien zum Aufbewahren oder Entfernen einer bestimmten Anzahl von Builds festlegen.

Überprüfen der CD-Pipeline

Mit DevOps Starter werden die erforderlichen Schritte zum Bereitstellen über Ihre Azure DevOps-Organisation in Ihrem Azure-Abonnement automatisch erstellt und konfiguriert. Diese Schritte umfassen die Konfiguration einer Azure-Dienstverbindung zur Authentifizierung von Azure DevOps für Ihr Azure-Abonnement. Bei der Automatisierung wird außerdem eine CD-Pipeline erstellt, über die CD für den virtuellen Azure-Computer bereitgestellt wird. Gehen Sie wie folgt vor, um weitere Informationen zur Azure DevOps-CD-Pipeline zu erhalten:

  1. Wählen Sie Build und Release und anschließend Releases aus. DevOps Starter erstellt eine Releasepipeline zum Verwalten von Bereitstellungen in Azure.

  2. Wählen Sie neben Ihrer Releasepipeline die Auslassungspunkte (...) und anschließend Bearbeiten aus. Die Releasepipeline enthält eine Pipeline, die den Releaseprozess definiert.

  3. Wählen Sie unter Artefakte die Option Ablegen aus. Die in den vorherigen Schritten untersuchte Buildpipeline erzeugt die für das Artefakt verwendete Ausgabe.

  4. Wählen Sie rechts neben dem Symbol Ablegen die Option Continuous Deployment-Trigger aus. Diese Releasepipeline enthält einen aktivierten CD-Trigger. Jedes Mal, wenn ein neues Buildartefakt verfügbar ist, wird von diesem CD-Trigger eine Bereitstellung ausgeführt. Optional können Sie den Trigger deaktivieren, sodass Ihre Bereitstellungen manuell ausgeführt werden müssen.

    DevOps Starter richtet ein zufälliges SQL-Kennwort ein und verwendet es für die Releasepipeline.

  5. Wählen Sie auf der linken Seite Variablen aus.

    Hinweis

    Führen Sie den folgenden Schritt nur aus, wenn Sie das SQL Server-Kennwort geändert haben. Es gibt eine Kennwortvariable.

  6. Wählen Sie neben dem Feld Wert das Schlosssymbol aus, geben Sie das neue Kennwort ein, und wählen Sie dann Speichern aus.

  7. Wählen Sie auf der linken Seite Aufgaben und dann Ihre Umgebung aus. Bei Aufgaben handelt es sich um die Aktivitäten, die beim Bereitstellungsprozess ausgeführt werden. Sie sind in Phasen gruppiert. Diese Releasepipeline enthält eine einzelne Phase, die die Aufgaben Azure App Service-Bereitstellung und Azure SQL-Datenbankbereitstellung umfasst.

  8. Wählen Sie die Aufgabe Azure SQL ausführen aus, und sehen Sie sich die verschiedenen Eigenschaften an, die für die SQL-Bereitstellung verwendet werden. Sie sehen unter Bereitstellungspaket, dass bei der Aufgabe eine SQL DACPAC-Datei verwendet wird.

  9. Wählen Sie auf der rechten Seite Releases anzeigen aus, um einen Releaseverlauf anzuzeigen.

  10. Wählen Sie neben einem Release die Auslassungspunkte (...) und anschließend Öffnen aus. Sie können sich verschiedene Menüs ansehen, etwa eine Releasezusammenfassung, zugeordnete Arbeitselemente und Tests.

  11. Wählen Sie Commits aus. In dieser Ansicht werden die dieser Bereitstellung zugeordneten Codecommits angezeigt. Vergleichen Sie Releases, um die Commitunterschiede zwischen den einzelnen Bereitstellungen anzuzeigen.

  12. Wählen Sie Protokolle aus. Die Protokolle enthalten nützliche Informationen zum Bereitstellungsprozess. Sie können während und nach Bereitstellungen angezeigt werden.

Committen von Änderungen in Azure Repos und automatisches Bereitstellen dieser Änderungen in Azure

Hinweis

Mit dem folgenden Verfahren wird die CI/CD-Pipeline mit einer einfachen Textänderung getestet. Optional können Sie das SQL Server-Schema der Tabelle ändern, um den SQL-Bereitstellungsprozess zu testen.

Nun können Sie mithilfe eines CI/CD-Prozesses, mit dem Ihre aktuelle Arbeit auf Ihrer Website automatisch bereitgestellt wird, mit einem Team an Ihrer App zusammenarbeiten. Mit jeder Änderung am GitHub-Repository wird in Azure DevOps ein Build gestartet, und durch eine CD-Pipeline wird eine Bereitstellung in Azure ausgeführt. Führen Sie die Schritte in diesem Abschnitt aus, oder nutzen Sie eine andere Methode zum Committen Ihrer Änderungen in Ihrem Repository. Mit den Codeänderungen wird der CI/CD-Prozess initiiert, und die Änderungen werden automatisch in Azure bereitgestellt.

  1. Wählen Sie im linken Bereich Code aus, und navigieren Sie anschließend zu Ihrem Repository.

  2. Navigieren Sie zum Verzeichnis SampleWebApplication\Views\Home. Wählen Sie anschließend neben der Datei Index.cshtml die Auslassungspunkte und dann Bearbeiten aus.

  3. Nehmen Sie eine Änderung an der Datei vor. Fügen Sie beispielsweise in einem der div-Tags Text hinzu.

  4. Wählen Sie oben rechts Committen und dann erneut Committen aus, um Ihre Änderung per Push zu übertragen. Kurz danach wird in Azure DevOps ein Build gestartet und zur Bereitstellung der Änderungen ein Release ausgeführt. Überwachen Sie den Buildstatus auf dem DevOps Starter-Dashboard oder im Browser mit Ihrer Azure DevOps-Organisation.

  5. Aktualisieren Sie nach Abschluss des Release Ihre Anwendung, um Ihre Änderungen zu überprüfen.

Herstellen einer Verbindung mit Azure SQL-Datenbank

Zum Herstellen einer Verbindung mit Azure SQL-Datenbank benötigen Sie die entsprechenden Berechtigungen.

  1. Klicken Sie auf dem DevOps Starter-Dashboard auf SQL-Datenbank, um zur Verwaltungsseite für SQL-Datenbank zu navigieren.

  2. Wählen Sie Serverfirewall festlegen und anschließend Client-IP-Adresse hinzufügen aus.

  3. Wählen Sie Speichern aus. Ihre Client-IP-Adresse hat nun Zugriff auf die Azure SQL Server-Ressource.

  4. Navigieren Sie zurück zum Bereich SQL-Datenbank.

  5. Wählen Sie rechts den Servernamen aus, um zur Konfigurationsseite für SQL Server zu navigieren.

  6. Wählen Sie Kennwort zurücksetzen aus, geben Sie für die SQL Server-Administratoranmeldung ein Kennwort ein, und wählen Sie anschließend Speichern aus. Notieren Sie sich dieses Kennwort zur späteren Verwendung in diesem Tutorial.

    Danach können Sie optional Clienttools wie SQL Server Management Studio oder Visual Studio verwenden, um eine Verbindung mit SQL Server und Azure SQL-Datenbank herzustellen. Verwenden Sie zum Herstellen der Verbindung die Eigenschaft Servername.

    Wenn Sie den Datenbank-Benutzernamen bei der Erstkonfiguration des Projekts in DevOps Projects nicht geändert haben, ist Ihr Benutzername der lokale Teil Ihrer E-Mail-Adresse. Wenn Ihre E-Mail-Adresse beispielsweise johndoe@microsoft.com lautet, ist Ihr Benutzername johndoe.

    Hinweis

    Wenn Sie Ihr Kennwort für die SQL-Anmeldung ändern, müssen Sie das Kennwort in der Variablen der Releasepipeline ändern. Eine entsprechende Anleitung finden Sie im Abschnitt Überprüfen der CD-Pipeline.

Bereinigen von Ressourcen

Beim Durchführen von Tests können Sie Gebühren vermeiden, indem Sie die Ressourcen bereinigen. Sie können die in diesem Tutorial erstellte Azure SQL-Datenbank und zugehörige Ressourcen löschen, wenn Sie sie nicht mehr benötigen. Verwenden Sie dazu die Funktion Löschen auf dem DevOps Starter-Dashboard.

Wichtig

Mit dem folgenden Verfahren werden Ressourcen endgültig gelöscht. Mit der Funktion Löschen werden die Daten in Azure und Azure DevOps gelöscht, die vom Projekt in DevOps Starter erstellt wurden. Diese Daten können anschließend nicht wiederhergestellt werden. Verwenden Sie dieses Verfahren nur, nachdem Sie die Anweisungen sorgfältig gelesen haben.

  1. Navigieren Sie im Azure-Portal zum DevOps Starter-Dashboard.
  2. Wählen Sie oben rechts Löschen aus.
  3. Wählen Sie an der Eingabeaufforderung Ja aus, um die Ressourcen endgültig zu löschen.

Nächste Schritte

Diese Build- und Releasepipelines können Sie optional an die Anforderungen Ihres Teams anpassen. Sie können dieses CI/CD-Muster auch als Vorlage für Ihre anderen Pipelines verwenden. In diesem Tutorial haben Sie Folgendes gelernt:

  • Bereitstellen einer ASP.NET-App und von Azure SQL-Datenbank-Code mithilfe von Azure DevOps Starter
  • Konfigurieren von Azure DevOps und eines Azure-Abonnements
  • Überprüfen der CI-Pipeline
  • Überprüfen der CD-Pipeline
  • Committen von Änderungen in Azure Repos und automatisches Bereitstellen dieser Änderungen in Azure
  • Herstellen einer Verbindung mit Azure SQL-Datenbank
  • Bereinigen von Ressourcen

Weitere Informationen zur CI/CD-Pipeline finden Sie in folgendem Artikel:

Define your multi-stage continuous deployment (CD) pipeline (Festlegen Ihrer mehrstufigen CD-Pipeline (Continuous Deployment))

Videos