TL; DR;环境特定的配置实现时持续部署
如何在实施持续部署时使用Visual Studio在app.config/web.config中管理特定于环境的设置& TFS 2015?
全部问题
我想实现持续部署使用the built-in feature in TFS 2015我的C#的Visual Studio 2015年解决方案。我目前想知道如何继续在依赖于环境的配置文件(通常是数据库连接字符串)中设置设置。
我基本上有4种不同的环境:生产,预生产,UAT和集成。我没有部署到Azure或云。一切都在我公司的服务器上。
我试图实施该解决方案提出了this link但除非我误解的东西,我觉得这意味着我将不得不也记号化我的Visual Studio解决方案里面我的web.config和app.config中。我想避免这种情况,因为我想尽可能保持我的 - 和我的队友 - 的体验。我不希望我们不得不修改另一个文件来管理我们的配置设置。
我想也使用XML转换,这将在部署过程中由Powershell任务触发。基本上,我保持原来的配置文件不变,并且该任务在触发时修改配置文件(如this link上的建议)。但理想情况下,我想使用发行版的内置环境变量。此外,这意味着我的转换文件将作为我的解决方案的一部分签入。如果我需要更改它,我需要运行一个新的构建/部署。我想避免这种情况。
所以没有办法完全令人满意。我想知道是否有其他工具或库可用来完成这项工作。我找不到任何东西。如果没有什么,我想我可以拿出一些Powershell的任务,但如果我可以避免重新发明轮子...
最后一件事,我想我可以在Visual Studio中创建一个基于“发布”一个我会命名 - 说 - “部署”。然后,我会在此配置上使用XML Transform来标记配置文件,并按原样保留Debug和Release。在我的TFS构建中,我将使用此配置,以便将标记化的配置文件部署为工件,我最终可以使用Powershell脚本和环境变量(如上面第一个链接中的那样)更新这些工件。但它似乎太复杂,涉及太多东西。我确信有更简单的事情可以做到。
还有this solution,但它意味着1环境= 1构建。我绝对想避免这种情况。我想要1 build =无处不在。
我会研究这个解决方案,让你知道它是怎么回事。 – Guillaume
@Guillaume你有没有试过这个? –
它正在等待。我需要我的TFS管理员有时间下载/安装/测试这个东西......但我试图在PowerShell中实现它。我还没有完成,但到目前为止,它看起来很有前途 – Guillaume