我们目前有一个“相当”的CI不可知的MSBuild脚本,正在构建在TeamCity上。TFS不可知的MSBuild脚本
脚本执行以下操作:
- 版本使用TeamCity的版本号
- 编译溶液
- 运行使用NUnit
- 一组单元测试的组件属性运行一组接受使用NUnit和SpecFlow的测试
- 使用Pickles生成一些文档
- 存储工件小号
- 标签/标签的修订GIT与当前版本号
我说“相当” CI无关,因为有一对夫妇,我们通过MSBuild的消息任务内容发布到TeamCity的地方。
我们现在已经从业务部门获得指导,将构建和源代码从GIT移至TFS。我使用的最后一个Microsoft源代码控制是SourceSafe,我没有使用TFS作为CI服务器的经验。我想知道我们是否可以像现在一样将MSBuild脚本保持为不可知的,并且仍然实现它现在具有的相同功能。
因此,关于版本控制,我们可以让tfs在包含内部版本号(如果可能的话)中包含内部版本号(或者TFS世界中的任何内容)的msbuild参数中进行推送?如何通过MSBuild将工件发布回TFS? – Bronumski 2013-05-01 14:10:07
您可以通过编辑构建定义将静态参数推送到MSBuild。如果你想传入动态参数(比如TFS Build#),你可能需要编辑Build Template。 TFS有一个BuildID(一个int)和一个BuildNumber,它是一种可以在Build Def中自定义的格式的字符串(默认情况下它是$(BuildDefinitionName)_ $(Date:yyyyMMdd)$(Rev :.r) – 2013-05-01 17:09:43
我已经开始构建,由于公司完全锁定构建环境导致无法访问NuGet,我必须做一些定制。除此之外,它运行的构建。我需要做的是将NUnit结果推回到TFS,以便它可以显示结果并在需要时构建失败。 – Bronumski 2013-06-10 13:55:27