使用Octopus Deploy将应用程序设置添加到web.config

时间:2014-10-18 13:16:42

标签: asp.net-mvc deployment octopus-deploy

我们已经开始在我们的ASP.NET Mvc 5网站上使用Octopus Deploy,并且替换web.config值工作得非常好但是有没有办法将值添加到不存在的web.config中?

我们需要这样做的原因是我们有一个可插拔的架构,一些项目没有被解决方案引用,这些额外的项目被打包为NuGet,还有一个额外的步骤,如果机器处于特定角色这些部署了额外的软件包,应用程序在启动时加载dll。

然而,我们部署的标准web.config没有这些设置,如果不需要我们不想添加其他值,因此能够在部署时添加更多appsetting到web.config是理想的。 / p>

1 个答案:

答案 0 :(得分: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)