標籤:generate path uil .json online epo 內建變數 pos releases
概要
TFS online 自動編譯時間如何修改web.config
ref:https://dustinoprea.com/2016/05/06/using-tokenization-token-replacement-for-buildsreleases-in-tfs-2015/
步驟
安裝Release Management Utility tasks
https://marketplace.visualstudio.com/items?itemName=ms-devlabs.utilitytasks
將 Tokenizer 添加進BuildStep
http://blogs.blackmarble.co.uk/blogs/rfennell/post/2016/03/01/A-vNext-build-task-and-PowerShell-script-to-generate-release-notes-as-part-of-TFS-vNext-build
編寫webConfigReplace.json,並提交到tfs
{ "default": { "CustomVariables": { "Variable1": "value1", "Variable2": "value2" }, "ConfigChanges": [ { "KeyName": "/configuration/metaModel", "Attribute":"configSource", "Value":"Config\\MetaModel.config" }, { "KeyName": "/configuration/connectionStrings", "Attribute": "configSource", "Value": "Config\\ConnectionStrings.config" } , { "KeyName": "/configuration/runtime/assemblyBinding/probing", "Attribute": "privatePath", "Value": "bin;binMP;binQF" } , { "KeyName": "/configuration/system.web/compilation", "Attribute":"debug", "Value":"false" } ] }}
注意:此處default為Environment name,若未配置Environment name,則指定default即可
配置Configuration Json filename: $(Build.Repository.LocalPath)/src/XXX/webConfigReplace.json
注意,此處必須使用$(Build.Repository.LocalPath)變數擷取檔案根路徑。
另外,若要使用_XXX_格式替換web.config 中的標記為變數,變數不支援系統內部變數,若要使用系統內建變數,如$(Build.SourceVersion)
可以建立一個使用者變數,然後設定其值為$(Build.SourceVersion)
TFS online build change web.config