VSTS 雲到地的 CI CD (04) - Web.config 替換 Connection String

在「VSTS 佈署依據環境替換 Web.config」這篇文章中已經介紹過如何替換 Web.config 的值

於是我用相同的方式想要替換掉 Web.config 中的 Connection String

卻是一直無法成功

不懂為何同樣方式可以置換掉其他的值, 但 Connection String 卻無法置換

所以才寫了這篇記錄下我怎麼替換成功

首先紀錄我替換失敗的步驟

在 parameters.xml 中定義了要置換的 connection strings 如下

但執行 web deploy package 出來的 SetParameters.xml 一直無法替換成 __(我想替換的字串)__

這步驟若替換不了, 在 Release 步驟執行 Power Shell Script 也就無法 mapping 成環境變量

既然無法置換那就可以移除掉上述的代碼

環境與專案

Windows 10 + Visual Studio 2015 Update 3

MVC Project 中使用了 EntityFramework

重新檢視單鍵發行步驟

使用 Visual Studio 單鍵發行的功能

選擇 Web Deploy Package 的 Settings Tab 多了幾個選項可以設置

原來這裡就可以輸入想要替代的值, 並把「Use this connection string at runtime」勾選

此時再檢視發行出來的 SetParameters.xml

可以看到 value 的成功設定成想要替換的 __xxx__

接下來我們在執行 VSTS 上的 Release 步驟佈署站台

Connection String 就可以利用我們之前寫的 power shell script 成功吃到了環境變量的值 !