Ich wollte fragen, ob jemand jemals Änderungen an den Web API .config-Dateiwerten während des Builds von Visual Studio Team Services vorgenommen hat (ersetzt durch andere Werte)? Gibt es Best Practices oder wie kann ich das erreichen?Best Practices der Konfig-Wert-Aktualisierung für Build-Definitionen
Antwort
Sie können SlowCheetah verwenden, um die Werte in der Konfigurationsdateibasis anhand der Buildkonfiguration zu transformieren, die Sie beim Erstellen der Warteschlange angegeben haben.
Sie können auch Replace Tokens Task verwenden, um die Zeichenfolgen in der Datei durch die Variablen zu ersetzen, die Sie in der Builddefinition erstellt haben.
Sie sollten sich Web.config
transformations ansehen. Sie können eine Hauptdatei Web.config
haben und anschließend Transformationen definieren, die basierend auf dem Builddefinitionsnamen in den Dateien Web.{Build definition name}.config
erforderlich sind.
Beispiel einer solchen Transformation:
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<connectionStrings>
<add name="MyDB" connectionString="ReleaseSQLServer"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
</configuration>
Transformiert MyDB
connectionString
Attribut von jedem vorherigen Wert ReleaseSQLServer
.
Wie kann ich (wenn möglich) VSO-definierte Variablen an diese Konfigurationen übergeben? – user2086174
Was meinen Sie mit "VSO definierten Variablen"? –
Wir können mehrere Variablen unter Real- oder Build-Definition definieren – user2086174
Neben der Verwendung Config Transformations, gibt es eine Reihe von Erweiterungen, die Ihnen das Leben leichter in dieser Hinsicht machen kann:
Meinen Sie als 'Web.Debug.config' und' Web.Release.config'? Wenn das 'app.config' ist, hast du http://stackoverflow.com/questions/8082662/how-to-select-different-app-config-for-several-build-configurations angeschaut? –
Ich meine Web.config appSettings Schlüsselwerte – user2086174
Dann verwenden Sie 'Web. {Build-Definition} .config'. –