尽管启用了CI,为什么我的2008 Team Build不会触发开发人员签到

时间:2008-09-04 13:58:19

标签: tfs msbuild build-automation tfs2008

我有一个Team Foundation Server 2008安装和一个带有Team Build服务的独立机器。

我可以创建团队构建并在Visual Studio中手动触发它们或通过命令行(它们成功完成)。但是,对源代码树进行检查不会导致构建触发,尽管可以选择构建在构建定义上勾选的每个签入。 更新:要明确我已经启用了CI选项的完全有效的构建定义。

配置源树是一种非常简单的方式,代码位于 Main 文件夹下或 Branch \ branchName 文件夹下。每个代码分支(包括main)都有一个与其中包含的解决方案文件相关的标准Team Build定义。从默认设置稍微改变的唯一事情是构建服务器工作文件夹;即对于main,这是服务器:“$ \ main”本地:“c:\ build \ main”由于路径长度。

我唯一可以猜到的(可能的红鲱鱼)是开发人员工作区可能有些奇怪。目前,每个开发人员都将Server:“$ \”映射到本地:“c:\ tfs \”,这样所有分支只有一个工作空间。这主要是为了避免一些开发人员之前已经进入的重新映射问题。但我看不出这会如何影响CI。

更新:如果间接答案;请阅读以下内容

3 个答案:

答案 0 :(得分:4)

好的,我已经在几个死胡同后找到了答案。最后,我在修复另一个问题时无意中修复了这个问题。基本上我们刚刚开始为我们的构建自动执行单元测试。测试将成功运行,但随后立即构建将弹出一条消息,说它无法向build drop文件夹报告。

发生的事情是,Build服务在一个帐户下运行并具有一组权限;某些功能实际上是通过TFSService帐户驱动的。在涉及一堆权限时,我已经报告了我的测试。然后我注意到构建已经开始在签到时触发;我无法确切地告诉你哪个许可确定了这个,但希望这个答案至少会让人们走上正确的道路。

另外一点说明,由于工作区映射冲突,一些构建开始失败 - 这是一个单独的问题,我通过使用Attrice Sidekicks for Team Foundation工具删除一些过时的工作区来解决。

希望这有助于其他人。

答案 1 :(得分:0)

从team explorer中选择您的团队项目,然后右键单击Builds文件夹。选择新的构建定义,然后选择触发器选项卡。将单选按钮移动到“构建每个签入(更多版本)”

可在此处找到更多信息

MSDN How to: Create a Build Definition

答案 2 :(得分:0)

TFS应用程序服务器上的日志中是否有任何错误?是什么表明它试图开火却失败了?