【发布时间】:2014-12-31 08:13:03
【问题描述】:
我一直在努力配置 Jenkins 以连接到 TFS 服务器,并且在我们将一些项目迁移到 TFS 2012 之前一切正常。
我们的 Jenkins 在 CI 服务器上作为本地系统帐户下的服务运行,用户将使用 Windows id 登录到 Jenkins 控制台,因为它配置了 Active Directory
该作业只是通过命令行实用程序连接到 TFS 服务器,在我们为一个 TFS 2012 项目运行构建后,我们开始收到 TFS 2010 项目的 HTTP 404 错误。
这是连接到 TFS 2010 服务器时的作业日志
[Test] $ cmd /c call C:\Windows\TEMP\hudson666032816381947801.bat
C:\Softwares\Jenkins-1.569\workspace\Test>"C:/Program Files (x86)/Microsoft Visual Studio 11.0/Common7/IDE/tf.exe" workspaces /owner:domain\username /login:domain\username,password - server:http://tfs2010Server:8080/tfs
HTTP code 404: Not Found
C:\Softwares\Jenkins-1.569\workspace\Test>exit 100
Build step 'Execute Windows batch command' marked build as failure
Finished: FAILURE
如果我复制相同的命令并在 CI 服务器上的命令提示符下运行它,它运行良好,但通过 Jenkins 运行它在 2010 年失败。此外,该作业对于 TFS 2012 服务器运行良好
我不确定它是否相关,我还删除了我家中缓存文件夹下的文件,以及许多人所说的 Windows/System32/config 文件夹中的 AppData/Mircosoft/Team Foundation,但没有产生任何结果。
此时我已经花了2天但徒劳无功。不确定通过Jenkins运行命令与直接通过命令行运行命令有什么区别。 非常感谢您的帮助。
【问题讨论】:
-
2010 年和 2012 年是什么意思?你有两个独立的 TFS 实例,还是升级了? Jenkins 上安装了哪个版本的 Team Explorer?
-
我们有两个 TFS 实例,一个是 2010,另一个是 2012 版本。在 Jenkins 机器上我们安装了 2012 Team exploer。
-
如果是 401,我有一些想法,对于 404,我们需要更多数据。在这种情况下,提琴手可能会有所启发。
-
tf workspaces 命令需要一个项目集合 URL。你能检查你的脚本吗?您看起来指向的是 TFS 服务器,而不是集合。
-
我们也尝试过,结果相同。