Ein Ansatz ist tokenization
Um tokenization zu implementieren zu verwenden, können Sie eine dieser beiden Implementierungen
- https://github.com/qetza/vsts-replacetokens-task#readme
- https://marketplace.visualstudio.com/items?itemName=ms-devlabs.utilitytasks
verwenden Wenn Sie sich entscheiden, gehen mit der ersten Implementierung sind hier die Schritte
Navigieren Sie zu https://marketplace.visualstudio.com/items?itemName=qetza.replacetokens und installieren "Ersetzen Tokens" in das Konto, das Sie in Ihren Build def haben.
Aktualisieren Sie die Anwendung web.config so dass
Connection = "# {MyToken} # "
Fügen Sie der Builddefinition eine neue Variable mit dem Namen des Tokens hinzu. Stellen Sie sicher, dass Wert
PROTECTED
Was passiert, ist, dass der Build-Schritt all .config-Token mit dem Variablenwert für die Build-Definition angegeben ersetzen wird. Ziemlich ordentlich.
Denken Sie daran, dass die Integrationstests wahrscheinlich dann für das Quellcode-Repository in dem Zustand fehlschlagen würden, in dem diese Aufgabe nicht vorhanden ist. Dies kann für einige Leute sehr lästig sein, ist aber leicht zu umgehen, wenn Sie GIT verwenden und einen Token verwenden, um das Token lokal für Integrationstests zu überschreiben. Wenn Sie eine SQL-Datenbank (azurblau) mit Firewall-Einstellungen haben, können die Integrationstests fehlschlagen, da die virtuellen Maschinen des Erstellungsagenten nicht autorisiert wurden und Sie möglicherweise eine neue Regel hinzufügen müssen Ihr Erstellungsagent ist autorisiert
Über Option 2. Ich glaube, dass SlowCheetah nicht erforderlich ist, um eine Umwandlung auszuführen. Sie können csproj manuell bearbeiten und mit der TransformXml-Task arbeiten. Hier habe ich ein einfaches Codebeispiel gefunden [TransformXml Web.config während der Veröffentlichung] (http: // stackoverflow.com/questions/10316108/transformxml-web-config-while-publishing) – AndrewSilver