【发布时间】:2012-06-20 09:04:10
【问题描述】:
我们现在已经有了一个合理的早期阶段,使用 TeamCity (6.5) 和 MSBuild。到目前为止,只有一个解决方案是这样构建的,直到我们在复制之前让事情按我们想要的方式工作,所以.. 基本上:
- 一个解决方案由两个构建调用 - 一个 CI 构建在签入时检查 构建没有被破坏,以及一个为 测试。
- 程序集版本号来自单个 VersionInfo.cs 文件(这是一个好主意吗?),它是解决方案中所有项目中的链接文件。这 方法在这里详述: http://www.codeproject.com/Articles/328977/The-Right-Way-to-Version-Your-Assemblies
- 两个构建的构建步骤目前只关注解决方案 文件,使用 MSBuild 作为 Build Runner
接下来我想做什么:
- 版本号为 Major.Minor.Release.Build 号。因此我需要将最后一项设置为 TeamCity 内部版本号
- 仅在测试版本中:将工件复制到单独的位置,并使用版本号名称创建文件夹
所以,最后的问题..我需要吗
- 使用预构建步骤创建一个单独的构建项目,以修改 VersionInfo.cs AssemblyFileVersion 以反映内部版本号
- 在新构建项目中创建一个构建后步骤,用于将工件复制到单独目录中的新目录中?
我正在努力解决这个问题,因为两个构建都使用相同的解决方案文件,因此 CI 构建如何不会选择这些项目,以及我是否应该创建一个新的构建文件。如果是这样,我是否保留现有的解决方案文件?
您可能会说我有点困惑......非常感谢。
【问题讨论】:
标签: visual-studio-2008 msbuild continuous-integration teamcity