【问题标题】:TFS2015 vNext missing featuresTFS2015 vNext 缺少功能
【发布时间】:2017-01-26 15:04:13
【问题描述】:

在过去的 8 年里,我一直在与 TeamCity、Jenkins 和 Bamboo 合作。最近 2 年在我的团队中非常参与 ContinuousIntegration 工厂的设置和维护,取得了非常好的结果,让我养成了很多关于如何处理构建、工件和管道的习惯。

现在,我在一家新公司、新团队、新 CI、TFS2015 工作,这对我来说是第一次。

就在我加入这个新团队的前一个月,他们在 TFS2012 上使用 XAML,因此我将迁移到 vNext 构建。

乍一看,我发现 vNext 构建了经典的构建定义,我的意思是将步骤作为单个任务添加到构建中,而不是单一的 XAML 文件。

但随着时间的推移,我试图创建更复杂的构建,例如 TeamCity 构建链,但这是不可能的,试试吧...

然后,我尝试处理多个分支,为每个分支一个连续构建(我们在 TFSVC 上),从每个分支创建包,我发现我复制构建只是为了更改存储库路径和一些细节,所以我将构建移到模板中,试图重用构建定义,引入变量来生成路径(用于存储库和分支)和版本,并期望只在一个地方更改构建,并将这些更改反映在从模板派生的所有构建中......但事实并非如此......:

变量并非在任何地方都被接受,例如在 repo 路径中。

模板创建后无法更改,只需替换它们,模板创建的构建在模板更改后不受影响。 打两下?.....

我想知道是不是我在 TFS 上做错了,也许这是一个不同的系统,我不能像在其他 CI 中那样做。

关于如何接近 TFS 以获得良好、动态和可重用的构建集的任何建议??

【问题讨论】:

    标签: continuous-integration tfs-2015


    【解决方案1】:

    这不是构建定义或模板的更改影响其他现有构建定义的功能。

    如果每个分支的构建定义的构建步骤都相同,您只需要一个构建定义并为每个分支添加过滤器(触发器>持续集成(CI),之后它将使用相应的源来构建CI构建,例如,开发分支更改 > 使用开发分支源自动触发构建。

    另一方面,您可以在手动构建队列时或通过REST API更改分支和源版本。

    如果每个分支的构建步骤不同,则需要单独修改定义以满足详细要求。

    【讨论】:

    • 好吧,在我本地的 TFS2015 中,使用 TFSVC,我没有看到分支选择。我认为它仅在使用 Git 时可用.. 对吗?
    • @user810917 TFVC系统有分支功能,但是队列构建时不能指定分支,需要在构建定义的repository中修改源映射。您可以在一个构建中映射多个项目/分支,并在一个分支中构建项目,但下载源代码以构建代理需要更多时间。看来 git 系统更适合你。 TFVC 团队项目也支持 git 仓库,您可以考虑为您的团队项目添加一个新的 git 仓库。
    • 是的,我已经在使用 Git,但它对团队的影响很大,所以我试图从当前场景中获得最佳结果:TFVC。对我来说,当前的 TFS 版本(2015 年)似乎不太好,我们可以在其他 CI 中找到很多很酷的功能......
    • @user810917 这个解决方法怎么样:stackoverflow.com/questions/36453360/…
    猜你喜欢
    • 1970-01-01
    • 2019-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-17
    • 2022-01-21
    • 2021-06-15
    • 2017-06-05
    相关资源
    最近更新 更多