Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel enthält Informationen dazu, wie DevTest Labs in Azure Pipelines Build- und Releasepipelines verwendet werden kann.
Gesamtfluss
Der grundlegende Ablauf sieht eine Buildpipeline vor, die die folgenden Aufgaben ausführt:
- Erstellen Sie den Anwendungscode.
- Erstellen Sie die Basisumgebung in DevTest Labs.
- Aktualisieren Sie die Umgebung mit benutzerdefinierten Informationen.
- Bereitstellen der Anwendung in der DevTest Labs-Umgebung
- Testen Sie den Code.
Nach dem erfolgreichen Erstellen des Builds verwendet die Releasepipeline die Buildartefakte für die Bereitstellung in der Staging- oder Produktionsumgebung.
Eine der erforderlichen Voraussetzungen besteht darin, dass alle zum Neustellen des getesteten Ökosystems erforderlichen Informationen in den Buildartefakten verfügbar sind, einschließlich der Konfiguration der Azure-Ressourcen. Da Azure Ressourcen bei der Verwendung kostenaufwendig sind, möchten Unternehmen entweder die Nutzung dieser Ressourcen steuern oder nachverfolgen. In einigen Fällen können Azure Resource Manager Vorlagen, die zum Erstellen und Konfigurieren der Ressourcen verwendet werden, von einer anderen Abteilung wie der IT verwaltet werden. Und diese Vorlagen können in einem anderen Repository gespeichert werden. Dies führt zu einer interessanten Situation beim Erstellen und Testen eines Builds. Sowohl der Code als auch die Konfiguration müssen in den Buildartefakten gespeichert werden, um das System in der Produktion neu zu erstellen.
Mithilfe von DevTest Labs während der Build- und Testphase können Sie Azure Resource Manager Vorlagen und unterstützenden Dateien zu den Buildquellen hinzufügen. Während der Veröffentlichungsphase stellen Sie die genaue Konfiguration bereit, die Sie im Test für die Produktion verwendet haben. Die Aufgabe "Azure DevTest Labs Umgebung erstellen" mit der richtigen Konfiguration speichert die Resource Manager Vorlagen in den Buildartefakten. In diesem Beispiel verwenden Sie den Code aus dem Lernprogramm: Erstellen Sie eine .NET Core- und SQL-Datenbank-Web-App in Azure App Service, um die Web-App in Azure bereitzustellen und zu testen.
Einrichten von Azure-Ressourcen
Sie müssen vorher ein paar Elemente erstellen:
- Zwei Repositorys. Die erste mit dem Code aus dem Lernprogramm und einer Resource Manager Vorlage mit zwei weiteren virtuellen Computern. Die zweite enthält die Basisvorlage Azure Resource Manager (vorhandene Konfiguration).
- Eine Ressourcengruppe für die Bereitstellung des Produktionscodes und der Konfiguration.
- Ein Labor mit einer Verbindung zum Konfigurations-Repository für die Build-Pipeline. Checken Sie die Resource Manager Vorlage im Konfigurationsrepository als „azuredeploy.json“ mit der Datei „metadata.json“ ein. Mit diesem Namen können DevTest Labs die Vorlage erkennen und bereitstellen.
Die Buildpipeline erstellt eine DevTest Labs-Umgebung und stellt den Code für Tests bereit.
Einrichten einer Buildpipeline
Erstellen Sie in Azure Pipelines eine Buildpipeline mithilfe des Codes aus dem Lernprogramm: Erstellen Sie eine .NET Core- und SQL-Datenbank-Web-App in Azure App Service. Verwenden Sie die ASP.NET Core Vorlage, die die erforderliche Aufgabe auffüllt, um den Code zu erstellen, zu testen und zu veröffentlichen.
Fügen Sie drei weitere Aufgaben hinzu, um die Umgebung in DevTest Labs zu erstellen und in der Umgebung bereitzustellen.
Erstellen einer Umgebungsaufgabe
Verwenden Sie in der Aufgabe Azure DevTest Labs "Umgebung erstellen" die Dropdownlisten, um die folgenden Werte auszuwählen:
- Azure-Abonnement
- Name des Labors
- Name des Repositorys
- Name der Vorlage (der den Ordner anzeigt, in dem die Umgebung gespeichert ist).
Es wird empfohlen, Dropdownlisten auf der Seite zu verwenden, anstatt die Informationen manuell einzugeben. Wenn Sie die Informationen manuell eingeben, geben Sie vollqualifizierte Azure Ressourcen-IDs ein. In der Aufgabe werden die Anzeigenamen anstelle der Ressourcen-IDs angezeigt.
Der Name der Umgebung ist der in DevTest Labs angezeigte Name. Es sollte ein eindeutiger Name für jeden Build sein. Beispiel: TestEnv$(Build.BuildId).
Sie können entweder Parameterdatei oder Parameter angeben, um Informationen an die Resource Manager Vorlage zu übergeben.
Wählen Sie die Option Ausgabevariablen basierend auf der Ausgabe der Umgebungsvorlage erstellen aus, und geben Sie einen Referenznamen ein. Geben Sie in diesem Beispiel "BaseEnv " für den Verweisnamen ein. Sie verwenden diesen BaseEnv beim Konfigurieren der nächsten Aufgabe.
Aufgabe zum Auffüllen der Umgebung
Die zweite Aufgabe (Azure DevTest Labs-Aufgabe „Umgebung füllen“) besteht darin, die vorhandene DevTest Labs-Umgebung zu aktualisieren. Die Aufgabe "Umgebung erstellen" gibt BaseEnv.environmentResourceId aus, die zum Konfigurieren des Umgebungsnamens für diese Aufgabe verwendet wird. Die Resource Manager Vorlage für dieses Beispiel weist zwei Parameter auf: adminUserName und adminPassword.
App Service–Bereitstellungsaufgabe
Der dritte Vorgang ist die aufgabe Azure App Service Bereitstellen. Der App-Typ ist auf Web App festgelegt, und der Name des App-Diensts ist auf "$(WebSite)" festgelegt.
Einrichten der Releasepipeline
Sie erstellen eine Release-Pipeline mit zwei Aufgaben: Azure-Bereitstellung: Ressourcengruppe erstellen oder aktualisieren und Azure App Service bereitstellen.
Geben Sie für den ersten Vorgang den Namen und die Position der Ressourcengruppe an. Der Vorlagenspeicherort ist ein verknüpftes Artefakt. Wenn die Resource Manager Vorlage verknüpfte Vorlagen enthält, müssen Sie eine benutzerdefinierte Ressourcengruppenbereitstellung implementieren. Die Vorlage befindet sich im veröffentlichten Ablageartefakt. Überschreiben Sie die Vorlagenparameter für die Resource-Manager-Vorlage. Sie können verbleibende Einstellungen mit Standardwerten belassen.
Geben Sie für die zweite Aufgabe "Bereitstellen Azure App Service" das Azure-Abonnement an, wählen Sie Web App für den App-Typ und $(WebSite) für den App-Dienstnamen aus. Sie können verbleibende Einstellungen mit Standardwerten belassen.
Testlauf
Nachdem Sie beide Pipelines eingerichtet haben, können Sie einen Build manuell in die Warteschlange einreihen und prüfen, wie er funktioniert. Der nächste Schritt besteht darin, den entsprechenden Trigger für den Build festzulegen und den Build mit der Releasepipeline zu verbinden.
Nächste Schritte
Weitere Informationen finden Sie in folgenden Artikeln: