【问题标题】:Limitations of Team Foundation Server BuildsTeam Foundation Server 构建的限制
【发布时间】:2012-04-17 21:20:14
【问题描述】:

TFS 在异构开发环境中的局限性是什么?

我对 Jenkins 没有多少经验,喜欢运行所有不同类型的作业,例如 Ant、Maven、CMD、Powershell ......

  • 在使用 Team Foundation 服务器构建 Java 项目时是否可以检查编码约定? 我不知道如何使用 TFS 构建 Java。我看到了一份演示文稿Microsoft,那个人提到了 Maven 和 Ant Tasks。所以我认为可以使用 Maven 中的 checkstyle 插件来完成。

  • 是否可以运行 CMD 脚本?

【问题讨论】:

标签: java coding-style tfs


【解决方案1】:

提到的工具可能是Team Foundation Server Build Extensions Power Tool December 2011

这些添加了从 Team Build 触发标准 Java 构建脚本的能力。

Java 构建过程只调用 maven 或 ant,因此在这些构建工具中检查代码质量的任何任务都应该在 Team Build 中正常工作。 Microsoft 的团队选择不为 Java 人员制作复杂的构建模板,因为他们非常习惯于自己的构建工具。因此,默认情况下执行 Java 构建程序的构建过程模板非常薄。一切都是通过标准的 Java 工具完成的。 Team Build 只是调用这些并收集输出。

至于在构建过程中执行命令脚本和其他可执行文件,您可以通过多种方式执行此操作。正确的方法取决于你想要完成的事情。

  • 如果您想在构建二进制文件的过程中执行某些操作,可以使用 msbuild exec task 或 ant/maven 中的等效任务。
  • 如果您想在所有二进制文件构建完成后执行某些操作(比如触发部署),您可以使用Build Activity in the build process template to execute a process
  • 如果您想在构建代理上构建二进制文件之前执行某些操作,您可以使用相同的活动,但您应该将其放在工作流中的不同位置。

Visual Studio lab management build templateBuild Deploy Test build template 是一个很好的起点,可以详细了解在构建过程中调用进程的可能性。

正如其他答案中提到的,SVNBridge 和可能的Git2tfs 可能会为 Java 团队成员提供访问 TFS 中源的替代方式。然后他们可以使用现有的 ant/maven 任务来获取源代码并构建代码。

【讨论】:

    【解决方案2】:

    你很可能会得到很多关于 TFS 的使用以及它是否适合,尤其是对于 JAVA 开发的个人意见。也就是说,为了插入 ANT/Maven/Jenkins,您可以安装 SVNBridge 以提供与 SVN 相同的功能。

    这并不意味着 TFS 没有插件来支持这些工具,我只是发现 SVN 相关的插件更易于访问。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-18
      • 2010-10-03
      • 2013-07-02
      • 1970-01-01
      • 1970-01-01
      • 2011-05-27
      相关资源
      最近更新 更多