3

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

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

源代码树的配置非常简单,代码位于Main文件夹或Branch\branchName文件夹下。每个代码分支(包括主代码)都有一个与其中包含的解决方案文件相关的标准 Team Build 定义。唯一与默认设置略有不同的是构建服务器工作文件夹;即对于 main,这是Server:"$\main" Local:"c:\build\main"由于路径长度。

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

更新:我间接找到了答案;请阅读下文

4

3 回答 3

4

Ok I have found the answer myself after several dead ends. In the end I fixed this unintentionally while fixing another issue. Basically we had just turned on the automatic execution of unit tests for our builds. The test would run sucessfully but then immediately the build would bomb out with a message saying it was unable to report to the build drop folder.

What was happening was that while the Build service runs under one account and has a set of rights; some of the functionality is actually driven through the TFSService account. fter wading a heap of permissions I had my tests being reported. Then I noticed that builds had started to trigger on check-ins; I can't tell you exactly which permission fixed this but hopefully this answer will at least set people down the right path.

One other note a few of the builds started failing due to conflicting workspace mappings - this was a separate issue that I resolved by deleting some obsolete workspaces using the Attrice Sidekicks for Team Foundation tool.

Hope this helps somebody else.

于 2008-09-11T13:19:35.507 回答
0

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

更多信息可以在这里找到

MSDN 如何:创建构建定义

于 2008-09-06T16:05:53.387 回答
0

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

于 2008-09-08T22:32:56.903 回答