首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在进行持续集成时,如何处理多个Visual配置?

在进行持续集成时,如何处理多个Visual配置?
EN

Stack Overflow用户
提问于 2011-04-20 09:11:17
回答 2查看 495关注 0票数 1

我在Visual中设置了多个配置,以便可以为多个客户之一构建一个解决方案(包含多个项目)。根据客户的不同定制了少量的web.config设置,并将代码构建到不同的“BuildDir”中,这样我就可以打包并交付它。目前,这一切都来自我的开发机器上的和一些Web部署项目,我发现这是非常脆弱的。

我想实现一个CI服务器(CC.Net或TeamCity),但不确定如何最好地适应这种每客户机配置(或者我是否应该尝试)。我在一个分支中进行开发,并在完成每个功能后与主干重新集成。那么,我是否正确地认为CI服务器应该在主干中集成代码,如果是的话,我如何处理每个客户的调试和发布构建?

我的配置如下:

  • 开发(调试)
  • 测试(调试)
  • 呃-克斯特。1(释放)
  • 生产-科斯特。1(释放)
  • 呃-克斯特。2(释放)
  • 生产-科斯特。2(释放)
  • 等。

除了针对每个客户的少量配置设置之外,对于所有客户来说,该产品几乎都是相同的。

我很想让你知道我是怎么安排这件事的,还是我想错了?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-07 23:33:33

我使用UppercuTRoundHousE和CC.Net解决了这个问题,并改变了在SVN中分支和标记各种配置的方式。现在,我有了一条代码‘主线’(主干),它由构建服务器上的CC.Net/UppercuT自动构建,然后可用于使用UppercuT进行打包和部署。如果我需要构建特定客户的源,我可以获得他们的源,进行必要的更改,然后提交回他们的分支。然后,在该分支中运行UppercuT,为该客户生成一个可部署的包。与of 2010的配置管理器相比,UppercuT和NAnt的结合提供了更大的灵活性。

票数 0
EN

Stack Overflow用户

发布于 2011-04-20 18:03:39

我们遵循两步构建程序:第一种解决方案是通过调试/发布配置正常构建。接下来(在构建完成过程之后),将运行用于转换web.configs的任务(如果是针对一个文件,但可以很容易地修复处理这些文件):

代码语言:javascript
复制
<UsingTask TaskName="TransformXml" AssemblyFile="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.Tasks.dll"/>
<Target Name="TransformWebConfig">
    <TransformXml Source="$(WebFolderName)Web.config"
        Transform="$(WebConfigsFolderName)Web.$(WebConfiguration).config"
        Destination="$(WebFolderName)Web.config" />
</Target>

这边请

1)解决方案文件中只有两个有意义的配置

2)在构建服务器上,您传递两个属性:配置(例如发布)和WebConfiguration (例如UATCust2)

3)此任务仅在构建服务器上运行,因为它是大型构建脚本的一部分:开发人员总是使用默认的调试/发布配置,目标平台配置可以单独存储,例如存储库中的受保护部分,甚至网络共享。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5727979

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档