部署应用程序时,Octopus Deploy 未合并我的转换文件

Posted

技术标签:

【中文标题】部署应用程序时,Octopus Deploy 未合并我的转换文件【英文标题】:Octopus Deploy is not merging my transformation file when deploying application 【发布时间】:2016-10-18 19:12:43 【问题描述】:

我的 mvc 项目中有 3 个转换文件,名为 Web.Debug.config、Web.AWS QA.config、Web.Release.config。我有一个名为 AWS QA 的环境。 我在构建步骤的 Enable Features 部分检查了配置变量和配置转换,我还将 Web.AWS QA.config => Web.config 添加到了我的 Additional transforms 部分。

然而,当我部署到 AWS QA 环境时,我得到了我在本地机器上开发时使用的普通 web.config 中的内容,其中不包括我在 Web.AWS QA.config 中的内容这就是我需要的。我错过了什么吗?

【问题讨论】:

您能否确认Web.AWS QA.config 确实正在部署?如果不是,则需要确保该文件在 Visual Studio 中标记为“内容”。另外,检查任务日志的“详细”版本——它会告诉你哪些文件正在被转换。事实上,您现在应该会在日志中看到 Web.Release.config 正在转换。 可以显示post相关章鱼日志条目吗? 我猜这与名称中的空格有关。你有没有弄清楚是什么原因造成的? 【参考方案1】:

我有同样的问题。添加一个 powershell 脚本以使用 Rename-Item 命令重命名 octopus deploy 中的文件:

Rename-Item -Path "Web.AWS.QA.Config" -NewName "c:\yourpath\Web.config"

希望对你有帮助!

【讨论】:

引用的文件是一个 XML 转换文件,需要应用于配置文件。它不能用作文件的替代品。

以上是关于部署应用程序时,Octopus Deploy 未合并我的转换文件的主要内容,如果未能解决你的问题,请参考以下文章

在 Octopus Deploy 中,第一次将主要或次要版本部署到环境时如何要求批准?

Octopus Deploy:如何将不同的项目部署到不同的生产机器上

GitVersion:Octopus Deploy 在 Nuget 包版本上拒绝了多个候选版本

powershell 自动执行Octopus Deploy Server安装和配置

在 Octopus Deploy 中,您可以使用每个环境设置的变量作为 feed 的值吗?

在 Octopus Deploy 中为多个项目定义角色和环境