【问题标题】:Build Pipelines in TFS在 TFS 中构建管道
【发布时间】:2012-05-26 06:39:23
【问题描述】:

2009年有SO question on the same topic

我想知道 Team Foundation Server 的更高版本是否更适合更长的构建管道。参考 Jenkins、TeamCity、ThoughtWorks 的 Go(我的雇主)的功能。

构建管道的可视化以及有关各个阶段通过或失败的通知对我来说很重要。那个和杰出的克隆能力说一个“主干”管道进入一个发布分支,因为该分支一跃成为。

其次,个人的圣杯是 CI 服务器将其配置存储在 SCM 中,该 SCM 本身持有可构建的东西,甚至默默地创建分支以提供新的管道;是否可以将 TFS 配置为将 CI 定义/脚本存储在其 SCM 端而不是其随附的 SqlServer 中?

【问题讨论】:

    标签: tfs continuous-integration jenkins


    【解决方案1】:

    TFS 构建包含三个组件:

    1. 构建定义 - 存储在 SQL Server 数据层上。
    2. 构建工作流 - 存储在源代码管理中的 XAML 文件。
    3. 支持的 MSBuild 脚本 - 通常包含用户定义的操作,也存储在源代码管理中。

    随着构建的进行,您可以看到构建步骤的可视化,并且您还可以获得主构建和 MSBuild 输出的不同日志。

    TFS 中的构建定义只是构建设置的集合,类似于 CC.Net 的配置文件和 TeamCity 的构建配置选项卡,它们也都存储在文件系统中。假设数据库上有备份计划,您实际上不需要将构建定义存储在源代码管理中,但如果必须,可以通过导出 tbl_BuildDefinition 表来实现。

    TFS Power Tools 为构建定义添加了克隆功能。

    虽然使用 TFS-API 相当可行,但不支持从新分支配置构建定义。

    【讨论】:

      【解决方案2】:

      参加聚会有点晚了,但如果您想要高级构建管道自动化,请不要使用 TFS。它根本没有削减它。

      我已经广泛使用了 Jenkins 和 TFS。 Tfs 只是。纯的。废话。原因如下。

      没有下游/上游构建。 没有 piepline/orchestraion 构建。 (像詹金斯) 添加构建步骤和回退到使用 MsBuild 的模糊方法。 慢并且仍然轮询源代码控制。 将您与 MsTest 联系起来。

      请不要指出“哦,如果您编写自定义活动,您可以做任何事情”。我不会浪费时间为封闭源代码、低于标准的平台进行开发。如果我要贡献一些东西,那是免费的。开源平台。

      【讨论】:

      • 您的大部分cmets都是不正确的,是对产品容量了解不足的结果。我同意应该更容易发现。 TFS 使用 Windows 工作流(无论好坏)作为其编排引擎,您可以让它以任何顺序执行您想做的任何事情。大多数功能都是开箱即用的,您可以使用 PowerShell 和自定义活动进行自定义。您也不会被束缚到 MS 构建,因为它支持任何测试平台。
      • @MrHinsh 你明白了。告诉我如何在 TFS 中构建管道,在其中对工件进行指纹识别并将其与内部版本号一起存储。然后将构建作业的下一阶段作为下游设置或禁用,然后准备一个按钮进行部署。
      • @MrHinsh TFS 中没有上游/下游构建而不涉及整个血腥的 TFS/Sharepoin/Workflow 基础自定义步骤。这完全是浪费时间。即使你这样做了,它也是片状的。
      • @MrHinsh Lol,看看你的历史,你就像一个 TFS 销售代表。好工作。你见过 Jenkins/Hudson/Bamboo 的多阶段构建过程吗?其实你以前用过 TFS 以外的东西吗?
      • @MrHinsh 好的,我不得不为如此苛刻而道歉。废话一天的工作。我会看看 InRelease。非常感谢。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-30
      • 2017-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-17
      • 2020-07-18
      相关资源
      最近更新 更多