1

我是 TFS 的新手,我们正在尝试为我们的构建自动化测试/构建/部署过程。

我遇到的问题是,当我尝试使用 MSBuild Arguments 使用自动部署(针对网页)开始构建时,它抱怨它没有必要的 DLL,到目前为止我已经发现它们已经安装使用 Visual Studio Premium 或 Ultimate,但随后其他人抱怨不应在服务器上安装诸如 Visual Studio 之类的东西 =)

TFS 现在也是构建服务器,我想知道这些东西是否有任何已知的要求:

  • 自动化 UI 测试
  • 自动化部署
  • 自动发布
  • 代码分析

我正在使用 TFS 2010 和 Visual Studio 2010 (Premium)。欢迎任何帮助、评论或不同的方法=)

4

2 回答 2

3

我们在我的团队中处理该问题的方式是实际检查将产品构建到源代码控制中所需的所有参考资料。.NET 框架本身之外的任何东西,以及安装构建控制器/构建代理所获得的任何东西,都会被签入。

正位:

  • 设置构建代理很简单(只需“安装 Server 2K8R2,安装构建代理,开始构建”)。
  • 不必担心复杂的 SDK 安装以匹配人们的开发框。参考都是签入源代码控制的确切版本。
  • 您可以获得二进制版本控制,这意味着如果您需要进行维护发布并针对去年的特定 API 版本进行构建,这非常容易。

负位:

  • 有点膨胀你的源代码控制
  • 将二进制文件签入源代码控制感觉很奇怪
  • 需要非常警惕维护检查二进制文件的结构和清洁度,否则很容易失控

除此之外,就使测试位从您的构建代理工作.. 可能最简单的方法是安装测试代理。VS2010 中的 UI 自动化是“CodedUI 测试”框架。它扩展了普通的 VS 单元测试框架,但需要一些额外的注册才能工作。

更复杂但超级有用的长期是建立完整的“Visual Studio 实验室管理”平台。缺点是,要充分利用它,您需要连接一个 System Center Virtual Machine Manager 服务器和至少一个 Hyper-V 主机,并构建一个具有“干净”VM 快照的虚拟机(您的产品之外的所有内容)重新测试安装)。一旦一切就绪,您将获得真正流畅的端到端构建-部署-测试体验。您通过构建系统触发产品构建,一旦完成,您的环境就会恢复到绝对干净的状态(不用担心剩余来自上一个版本的比特破坏了您的测试等),产品被发布到这个测试环境,然后它执行您的测试。

不确定您是否将 TFS 用于工作项跟踪、测试用例管理、项目规划等等。如果没有,实验室管理的东西可能太重了,无法搞砸。如果您有兴趣弄乱那部分,请在此处了解更多信息。:)

于 2012-01-10T08:56:19.623 回答
0

您的构建服务器需要适当版本的 Visual Studio。例如,如果你想做数据库单元测试,那么构建服务器需要安装 VS Ultimate。

如果在服务器上安装“客户端”软件存在问题,请使用单独的构建服务器。对于构建服务器来说,安装必要的工具来执行构建是非常有意义的。

于 2012-01-11T18:44:38.573 回答