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