2014-10-18 70 views
0

我們已經開始爲我們的ASP.NET Mvc 5網站使用Octopus Deploy,並且替換web.config值工作得很好,但有沒有辦法將值添加到web.config那不存在?使用Octopus部署將應用程序設置添加到web.config

我們需要這樣做的原因是我們有一個可插拔的體系結構,有些項目沒有被解決方案引用,這些額外的項目被封裝爲NuGet,並且如果機器處於特定角色還有一個額外的步驟這些額外的軟件包已部署,應用程序在啓動時會加載這些dll。

但是我們部署的標準web.config沒有這些設置,如果不需要,我們不想添加額外的值,因此能夠在部署時向web.config添加更多appsetting是理想的。

+0

你能解釋你如何更新web.config中的值與章魚? – Campinho 2015-10-08 21:46:13

回答

2

您可以通過兩種方式在Octopus Deploy中執行此操作。

如果您知道要提前添加的部分,可以使用Conditionalsweb config transformations一起包含或排除部分。

如果您需要做更動態的事情,最好的方法是使用deploy.ps1 PowerShell腳本來添加節點。像這樣的事情會做到這一點。

$filePath = [path to my web.config file] 

# load the XML from the web.config 
$xml = New-Object XML 
$xml = [xml](Get-Content $filePath) 

$setting = $xml.CreateElement('add') 
$setting.SetAttribute('key','Name') 

$xml.configuration.appSettings.AppendChild($setting) 

$xml.Save($filePath) 
+0

感謝您的幫助,這段代碼幫助我編寫了我們需要的powershell腳本。 – user351711 2014-11-05 05:55:12