有没有办法只安装tfs命令行?

时间:2011-11-18 15:55:54

标签: .net tfs

我有一个为Java和.NET项目配置的CI构建服务器,我正在尝试将新项目集成到服务器。不幸的是,该项目使用TFS(2008)作为其SCM。

在此之前,我知道TFS提供构建功能,但我们正在尝试标准化构建基础架构,第一步是通过相同的Web服务构建所有项目(在本例中为Jenkins)。

我需要将TFS安装到构建服务器,因此我下载了TeamExplorer客户端,一个大小不超过400Mb的ISO。当我尝试从ISO安装时,它不提供可选的安装组件,并提供了它将安装的大量组件列表(大多数将永远不会在此服务器上使用,AFAIK)。

  • Microsoft Visual Studio 2008 Shell(集成模式)
  • Microsoft Office系统的Microsoft Visual Studio工具(3.0版运行时)
  • 用于2007 Microsoft Office System Runtime的Microsoft Visual Studio 2005工具
  • Microsoft Document Explorer 2008
  • Microsoft Visual Studio 2008团队资源管理器
  • Microsoft Office System 2003主互操作程序集

安装完整的Visual Studio UI以及所有附带的东西似乎非常难以理解,因为我只会调用CLI TFS客户端。这是CLI实用程序所必需的吗?

是否可以只获取命令行TFS所需的程序集?或者是否可以仅从ISO安装CLI?

我知道有一个类似的问题here,在ijprest的答案中列出了为工作命令行TFS复制的最小文件,但我不想安装hack。我更喜欢支持的安装,不会在将来引起混淆。

[编辑]

根据提出的几个答案,我将解释环境和推理。

构建服务器本身是Windows 2008服务器,但我无法通过TFS构建,因为我们正在尝试创建一个可以处理多个项目的统一CI系统。

有些项目是.NET,有些是Java。有些是在Subversion上托管(SCM),有些在ClearCase上托管。这个新项目托管在TFS上(迄今为止已有6个项目),因此TFS在此处占少数。

在政治上,我们不能强制要求项目使用一套工具。但是,我们希望只有一个构建点可以轻松地将项目推向更统一的方法(或至少在项目购买新工具/框架/等之前将项目领导推向彼此“交谈”

因此,构建服务器需要能够将源代码从SCM拉到“构建”区域,然后执行构建(通过Ant,Maven,NAnt,MSBuild,Grdle等),但重要的是:

  1. 根据源更改(基于轮询SCM)自动启动构建
  2. 构建系统将使用无人机交互从SCM中提取源。
  3. 构建将通过约定发生,或者(至少)通过基于SCM的脚本(build.xml,makefile等)进行。重要的是再次没有人为干预。

2 个答案:

答案 0 :(得分:4)

从技术上讲,是的,这是Microsoft支持的唯一安装tf.exe命令行客户端的方法。

命令行客户端仅与UI组件捆绑在一起的一个重要原因是命令行客户端实际上确实引发了UI(除非您使用/noprompt标志。)这是为了您基本上可以构建一些实际上非常强大的简单脚本,并且能够提供交互式工作区管理,解决冲突等。显然,在构建环境中你不会从中受益,但这就是为什么它以它的方式捆绑 - 命令行客户端确实依赖于UI DLL。

如果您想在非Windows体系结构上构建Jenkins,可以使用Team Explorer Everywhere命令行客户端,这是Java中tf的跨平台实现。它具有tf.exe的大部分相同功能,并且在大多数情况下与参数兼容,旨在为构建提供可编写脚本的跨平台解决方案。 Jenkins TFS插件确实支持Team Explorer Everywhere tf命令行客户端。但是,如果您在Windows上使用tf命令行客户端的TEE版本,我们将不会为此安装提供支持。

微软也不支持你提到的简单地复制必要的程序集的答案。

答案 1 :(得分:1)

您发布的组件列表不包含“完整”VS UI。 Visual Studio被组织为shell加插件。在这种情况下,它正在安装shell和一个插件(团队资源管理器)。

您最终无法创建应用程序,或者除了充当TFS的GUI客户端之外还可以执行任何操作。它不会自动赋予人们执行构建的能力 - 这是通过您在TFS中分配的权限给予它们的。如果没有人能够创建构建定义或运行构建定义,那么就没有构建。

您也可以根本不安装构建服务。