我们使用Jenkins,MSBuild和Web Deploy创建了持续交付流程。在部署到我们的开发服务器时,工作非常顺利,但是,当我尝试在两个新配置的服务器上使用* .deploy.cmd文件部署Web部署包时,不会应用在parameters.xml文件中定义的web.config更改。部署的其余部分工作得很好,但我看到每个需要更改的参数都有这样的消息:
Verbose: Parameter entry 'config/1' could not be applied to '<path>\Package\PackageTmp\Web.config'. Deployment will continue with the original data. Details:
Cannot set a value on node type 'Element'.
由于完全相同的包的转换适用于部署到一个服务器而不是新服务器,这似乎是一个服务器配置问题,但我已经完成并检查了所有针对Microsoft的Web部署安装说明,一切都很好。我不是最初在工作文件夹上设置Web Deploy的人,所以我不知道他们可能做了哪些不同的事情。我怀疑这与权限有关,但我能想到的几个地方在两台服务器上都是一样的。
我发现此错误消息的其他问题,其中的参数文件中的XPath存在问题。我不认为这是我的问题,因为我可以成功部署到我的一台服务器,但这里有一个来自我的paramters.xml和SetParams.xml文件的示例:
的parameters.xml
<parameter name="config">
<parameterEntry kind="XmlFile" scope="\\web.config$" match="//configuration/appSettings/add[@key='config']" />
</parameter>
*。SetParameters.xml
<parameters>
<setParameter name="config" value="<add key="config" value="testing" />" />
</parameters>
有没有人知道如何解决这个问题或我在新服务器上需要什么样的额外权限?
答案 0 :(得分:0)
回想起来,这是非常明显的,但事实证明我们的问题是服务器支持团队安装了错误版本的Web Deploy。我们需要3.5或更高,他们安装2.10。在新服务器上更新Web Deploy解决了这个问题。