我已经在Tfs2010实例上运行了CI构建,但是我也想运行一个Gated checkin构建。但是,我希望这两种构建的运行方式之间存在细微的差异。具体来说,我希望Gated checkin 不会在失败时生成错误工作项,在构建时不关联变更集和工作项,不将构建移至下拉列表,并且不维护先前的构建。由于由Gated checkin 启动的构建是未提交的更改,因此这些步骤对我来说似乎是不必要的,但是我绝对希望CI构建能够执行这些功能。

不幸的是,在变更集由Gated Checkin构建提交后,我的变更集上出现了 NO_CI 这个东西,并且CI构造从未被触发。我发现this thread似乎表明我的DefaultTemplate.xaml应该在其中某处具有“获取 Activity ” NO_CIOption参数。但是,配置文件中的任何内容似乎都不能表示任何东西。这两个字符串都不存在,我在msdn库中找不到任何引用文档。

实际上,在msdn库中,似乎有a page链接到我想要的页面,但是实际上在链接所在的位置,有一个放错了位置的重复链接,该链接指向“控制构建系统将二进制文件放置在何处”。您可以在其正下方看到相同的链接。

无论如何:在构建模板文件中如何使用NO_CIOption参数?它放在哪里?以前没有其他人想这样做吗?

旁注:在SO和MSDN论坛之间交叉发布是不好的做法吗?

最佳答案

为此,在浏览Xaml并在Build二进制文件上使用了反射器之后,我在SyncWorkspace操作上找到了NoCIOption属性。将此设置为false似乎已允许CI构建在门控检入之后触发,并且删除了有些难看的 NO_CI 检入注释附录。

有关如何执行此操作的信息,请参见http://donovanbrown.com/post/How-to-have-CI-builds-run-after-a-Gated-Build

关于continuous-integration - Tfs 2010 Build : Continuous Integration and Gated Check-In together?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3810427/

10-10 06:45