我一直在阅读有关构建一次然后配置每个环境的信息。例如,以下是一些如何执行此操作的建议:Build once and deploy to multiple environments with msdeploy & Visual Studio 2012
我的问题是,它如何与您的构建服务器一起工作?有没有人开始部署到多个环境的构建?我希望每个环境都有自己的构建定义和自己的规则/时间表。在那种情况下,建立一次真的有多可行?我觉得我错过了什么......
答案 0 :(得分:3)
我使用基于MSDeploy和Web Publishing Pipeline的构建管道,但它不是MSBuild脚本直接支持的场景。
我使用的基本前提是在构建的第一个“阶段”中构建一个包,然后将其部署到各种环境,直到它在生产中。您的构建服务器如何处理交叉构建“工件”是您需要研究的内容。
另一个问题是将包部署到发布配置文件是not something that's currently supported。但是,您始终可以从命令行部署程序包(甚至可以将其上载到可以通过IIS导入的管理员)。
这些资源(免责声明,包括我自己的博客和代码的链接)应该有所帮助:
答案 1 :(得分:3)
我一直这样做。 构建一次并为每个环境重新配置。我不使用MSdeploy。我使用xdt模板化转换,这些转换在部署时与环境属性结合使用。构建创建一个可以配置的包。
这消除了在部署时对visual studio的需求。我可以开始部署到多个环境。我还可以在部署时支持新的/更改的环境。你可以使用msbuild轻松实现这一点,ctt工具http://ctt.codeplex.com/documentation 和令牌转换过程,例如msbuild扩展包中的去除声明任务。如果您构建此流程,则可以在CI工具(TFS但是为Teamcity获取id)以及手动/ cmdline / powershell中托管。