[DevOps]透過 xdt:Transform 設定Debug/Release Build時的組態
有些好功能不常用到你就不容易覺得它有價值。 隨著CI流程在每一個專案中被建立,現在在團隊中,只要看到有個專案無法跑CI流程,就會讓人覺得全身不對勁。因此我們開始要求團隊成員,每一個Project至少都能夠在Build Server上能被建置,這個要求幾年前可能很辛苦,但現在一點都不會覺得不合理。如果能夠建置完自動佈署,當然就更加理想了。 前陣子有位同仁碰到一個問題,客戶的專案需要要求用戶強制跑在https的環境中,這問題不難解決,在asp.net中的web.config裡面,把URL rewrite設定一下即可,你在網路上隨處都可以找到這個解決方案,例如: http://stackoverflow.com/questions/9823010/how-to-force-https-using-a-web-config-file 但這個組態在Web.config設定之後,會導致開發階段Local的IIS Express無法運行,這問題當然可以透過調整Project設定和IIS Express來解決。但其實,這個專案我們也不想在local開發測試的階段走SSL,因為沒必要也不方便。因此,最理想的方式是開發階段的時候走http,而Build到正式(或RC)環境的時候走https。 這時候,Web.config中的release設定就派上用場了。 如果你從來沒打開過Web.Release.config,你可以開啟來瞧瞧,會發現,它預設內容類似底下這樣 <configuration xmlns:xdt=" http://schemas.microsoft.com/XML-Document-Transform" > <!-- In the example below, the "SetAttributes" transform will change the value of "connectionString" to use "ReleaseSQLServer" only when the "Match" locator finds an attribute "name" that has a valu