Vorgehensweise: Erweitern Ihrer Bereitstellungen auf IIS-Bereitstellungsgruppen
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019 | TFS 2018
Sie können Ihre ASP.NET- oder Node.js-App schnell und einfach in einer IIS-Bereitstellungsgruppe mit Azure Pipelines bereitstellen, wie in diesem Beispiel veranschaulicht. Darüber hinaus können Sie Ihre Bereitstellung je nach Szenario und Anforderungen auf verschiedene Arten erweitern. In diesem Thema erfahren Sie, wie Sie:
- Dynamisches Erstellen und Entfernen einer Bereitstellungsgruppe
- Anwenden von phasenspezifischen Konfigurationen
- Durchführen einer sicheren parallelen Bereitstellung
- Bereitstellen einer Datenbank mit Ihrer App
Voraussetzungen
Sie sollten die Beispiel-CD für eine IIS-Bereitstellungsgruppe durchgearbeitet haben, bevor Sie einen dieser Schritte ausführen. Dadurch wird sichergestellt, dass Sie über die erforderliche Releasepipeline, Buildartefakte und Websites verfügen.
Dynamisches Erstellen und Entfernen einer Bereitstellungsgruppe
Sie können Bereitstellungsgruppen dynamisch erstellen und entfernen, wenn Sie möchten, indem Sie den Task Bereitstellung von Azure-Ressourcengruppen verwenden, um den Agent mithilfe von ARM-Vorlagen auf den Computern in einer Bereitstellungsgruppe zu installieren. Weitere Informationen finden Sie unter Bereitstellen von Bereitstellungsgruppen-Agents.
Anwenden von phasenspezifischen Konfigurationen
Wenn Sie Releases in mehreren Phasen bereitstellen, können Sie mithilfe der folgenden Schritte Konfigurationseinstellungen in Web.config und anderen Konfigurationsdateien Ihrer Website ersetzen:
Definieren Sie phasenspezifische Konfigurationseinstellungen auf der Registerkarte Variablen einer Phase in einer Releasepipeline. beispiel:
<connectionStringKeyName> = <value>
.Aktivieren Sie im Task IIS Web App Deploy (IIS-Web-App bereitstellen) unter Dateitransformationen und Variablenersetzungsoptionen das Kontrollkästchen für die Ersetzung von XML-Variablen.
Wenn Sie die Phasenkonfigurationseinstellungen lieber in Ihrer eigenen Datenbank oder in Azure KeyVault verwalten möchten, fügen Sie der Phase eine Aufgabe hinzu, um diese Werte mithilfe von
##vso[task.setvariable variable=connectionString;issecret=true]<value>
zu lesen und auszugeben.Derzeit können Sie keine andere Konfiguration auf einzelne IIS-Server anwenden.
Durchführen einer sicheren parallelen Bereitstellung
Wenn Ihre Bereitstellungsgruppe aus vielen IIS-Zielservern besteht, können Sie die Bereitstellung auf einer Teilmenge von Servern gleichzeitig durchführen. Dadurch wird sichergestellt, dass Ihre Anwendung für Ihre Kunden immer verfügbar ist. Wählen Sie den Gruppenauftrag Bereitstellung aus, und konfigurieren Sie mithilfe des Schiebereglers die maximale Anzahl von Zielen parallel.
Bereitstellen einer Datenbank mit Ihrer App
Bereitstellen einer Datenbank mit Ihrer App:
Fügen Sie ihrer Bereitstellungsgruppe sowohl die IIS-Zielserver als auch die Datenbankserver hinzu. Markieren Sie alle IIS-Server als
web
und alle Datenbankserver alsdatabase
.Fügen Sie den Phasen in der Releasepipeline zwei Computergruppenaufträge und in jedem Auftrag wie folgt eine Aufgabe hinzu:
Führen Sie zuerst den Auftrag der Bereitstellungsgruppe zur Konfiguration der Webserver aus.
Bereitstellungsgruppe: Wählen Sie die Bereitstellungsgruppe aus, die Sie im vorherigen Beispiel erstellt haben.
Erforderliche Tags:
web
Fügen Sie dann diesem Auftrag eine IIS Web App Deploy-Aufgabe hinzu.
Führen Sie dann den Auftrag der Bereitstellungsgruppe zur Konfiguration der Datenbankserver aus.
Bereitstellungsgruppe: Wählen Sie die Bereitstellungsgruppe aus, die Sie im vorherigen Beispiel erstellt haben.
Erforderliche Tags:
database
Fügen Sie dann diesem Auftrag einen SQL Server Task Database Deploy hinzu.