Die Aufgabe Azure WebApp-Konfiguration liest VSTS-Variablen und fügt diese als AppSettings und ConnectionStrings zu einer Azure WebApp hinzu. Die Aufgabe unterstützt auch Slot-Einstellungen. Die Aufgabe kann mit einer web.config verknüpft werden, um zu überprüfen, ob alle AppSettings und ConnectionStrings in der web.config als VSTS-Variable existieren.
Der Task kann auf dem Marktplatz gefunden und zu Ihrem VSTS-Konto hinzugefügt werden. Der Code ist Open Source und kann auf GitHub gefunden werden.
Konvention zur Namensgebung
Die Aufgabe verwendet Namenskonventionen in den VSTS-Variablen, um Appsettings und Connectionstrings für eine Azure WebApp bereitzustellen. Wenn Sie möchten als Slot-Einstellung. Der Wert der VSTS-Variable wird als Wert für die App-Einstellung oder im Falle eines Connectionstrings für den Connectionstring verwendet.
Die folgenden Regeln für die Namenskonventionen werden unterstützt:
- Der Name einer Variablen für eine App-Einstellung muss mit appsetting beginnen.
- Der Name einer Variablen für einen Connectionstring muss mit Connectionstring beginnen.
- Die Art der Datenbank sollte in der Namenskonvention wie in der folgenden Tabelle angegeben hinzugefügt werden.
- Für ein Slotsetting muss die Konvention .sticky verwendet werden.
Die folgende Tabelle zeigt einige Beispiele:
| Typ | Beispiel VSTS-Variablenname |
| appsetting | appsetting.mysetting |
| appsetting mit Slotsetting | appsetting.mysetting.sticky |
| Verbindungszeichenfolge zu SQL Server | verbindungsstring.meinverbindungsstring.sqlserver |
| Verbindungszeichenfolge zu SQL Azure | verbindungsstring.meinverbindungsstring.sqlazure |
| connectionstring zu custom | connectionstring.meinverbindungsstring.custom |
| Verbindungszeichenfolge zu MySQL | Verbindungsstring.meinVerbindungsstring.mysql |
| connectionstring mit Slotsetting | connectionstring.myconnectionstring.sqlserver.sticky |
Schritte zur Verwendung und Konfiguration der Aufgabe
- Installieren Sie die Aufgabe in Ihrem VSTS-Konto, indem Sie zum Marketplace navigieren und auf Installieren klicken. Wählen Sie das VSTS-Konto, in dem die Aufgabe bereitgestellt werden soll.
- Fügen Sie die Aufgabe zu Ihrer Version hinzu, indem Sie in Ihrer Version auf Aufgabe hinzufügen klicken und die Kategorie Dienstprogramm auswählen. Klicken Sie auf die Schaltfläche Hinzufügen bei der Aufgabe Variablen auf Azure Webapp anwenden.

- Konfigurieren Sie die Aufgabe. Wenn die Aufgabe hinzugefügt wird, sieht die Konfiguration wie folgt aus:
Alle gelben Felder sind Pflichtfelder.
- Wählen Sie ein AzureRM-Abonnement. Wenn Sie nicht wissen, wie Sie dies konfigurieren können. Lesen Sie diesen Blogpost.
- Wählen Sie den Namen der Webanwendung.
- Wählen Sie die Ressourcengruppe.
- Wenn Sie in einem Bereitstellungsslot bereitstellen möchten, aktivieren Sie das Kontrollkästchen In Slot bereitstellen und wählen Sie den Slot aus.
- Wenn Sie die VSTS-Variablen anhand der appSettings und ConnectionStrings in der web.config der bereitgestellten Anwendung validieren möchten, wählen Sie die web.config aus. Andernfalls deaktivieren Sie das Kontrollkästchen Variablen validieren.
- Wenn Sie eine Validierung wünschen, können Sie wählen, wie sich die Aufgabe verhalten soll, wenn sie falsche Variablen findet. Das Standardverhalten ist, dass die Aufgabe mit einem Fehler fehlschlägt. Dies führt zu einer fehlgeschlagenen Freigabe und die Variablen werden nicht bereitgestellt.
Die andere Aktion für das Ergebnis der Validierung ist, dass Sie nur eine Warnung erhalten. Die Variablen werden dann in Azure bereitgestellt.
- Standardmäßig werden alle vorhandenen AppSettings und ConnectionStrings in Azure durch die Variablen in der Version überschrieben. Wenn Sie dies nicht wünschen, aber Ihre AppSettings oder ConnectionStrings in Ihrer WebApp beibehalten möchten, dann deaktivieren Sie das Kontrollkästchen Vorhandene Konfiguration überschreiben. - Die web.config Ihrer Anwendung wird nicht für die Bereitstellung von Variablen in Azure verwendet. Wenn Sie die Validierung konfiguriert haben, werden die Schlüssel der appSettings und die Namen der ConnectionStrings verwendet, um zu überprüfen, ob VSTS-Variablen für diese Einstellungen verfügbar sind. Die web.config in diesem Beispiel sieht wie folgt aus:

- Fügen Sie Variablen hinzu, die mit den Namen der Variablen in den AppSettings und ConnectionStrings übereinstimmen. Wenden Sie auch die Benennungskonventionen für die VSTS-Variablen an.

- Anstelle der Konfiguration von Release-Variablen wie in Schritt 5 können Sie auch Umgebungsvariablen konfigurieren. Dieser Schritt zeigt Ihnen, wie Sie die Freigabe in VSTS konfigurieren können, um mehrere Umgebungen zu unterstützen. In diesem Beispiel hat jede Umgebung die gleichen Appettings und Connectionstrings. Der Wert dieser Variablen ist jedoch unterschiedlich.
Nachdem Sie die Umgebungen erstellt haben, konfigurieren Sie die Variablen pro Umgebung. Fügen Sie wie in Schritt 5 einfach die Schlüssel und die Werte hinzu.
Um die Umgebungsvariablen auf einen Blick zu sehen, wählen Sie die Ansicht Umgebungsvariable, wie Sie in der folgenden Abbildung sehen können:
Wenn Sie alle Umgebungen konfiguriert haben, sehen Sie eine Übersicht wie die folgende:

- Wenn Sie die Freigabe ausführen, werden die Einstellungen in Azure bereitgestellt. In diesem Beispiel sieht es so aus:
Beachten Sie, dass der in VSTS verborgene Wert nun in Azure sichtbar ist.

Verfasst von
Pascal Naber
Contact