Jenkins可以为构建提取TFS门控签入代码吗?

Jenkins可以为构建提取TFS门控签入代码吗?,jenkins,tfs,build,tfsbuild,Jenkins,Tfs,Build,Tfsbuild,我试图让詹金斯拉TFS门控签入代码,但失败了 我已经设法在TFS中添加了Jenkins构建步骤,此构建步骤是在Jenkins中启动构建作业的“触发器”,此作业从TFS中获取源代码并编译,问题是此代码没有门控签入。 例如: 我的代码库是“A”,编译工作正常 我正在推动新的改变(我们称之为“B”delta),这将破坏构建(无效的c#语法) 这将触发一个称为Jenkins作业的内置TFS,该作业只接受“a”代码(不带“B”增量) Jenkins成功地构建了代码(仅基于“A”),然后TFS将此构建标记为

我试图让詹金斯拉TFS门控签入代码,但失败了

我已经设法在TFS中添加了Jenkins构建步骤,此构建步骤是在Jenkins中启动构建作业的“触发器”,此作业从TFS中获取源代码并编译,问题是此代码没有门控签入。

例如:

  • 我的代码库是“A”,编译工作正常
  • 我正在推动新的改变(我们称之为“B”delta),这将破坏构建(无效的c#语法)
  • 这将触发一个称为Jenkins作业的内置TFS,该作业只接受“a”代码(不带“B”增量)
  • Jenkins成功地构建了代码(仅基于“A”),然后TFS将此构建标记为成功,并将错误的“B”增量代码放入其中
  • 现在,每一个变更集,包括对这个变更集的修复,都会导致下一个构建中断,因为jenkins会接受错误的“B”代码,并且总是失败
  • 有没有办法让Jenkins用当前的门控签入获取代码

    我想使用Jenkins build而不是TFS的原因是,Jenkins中.Net Core 2.0的构建过程比TFS快约X4,并且我们的源代码管理是在TFS中管理的

    使用:
    TFS-版本15.117.26714.0为避免此问题,您可以在队列作业任务之前添加VS构建任务:


    你说的“最新变化”是什么意思?我的工作是在TFS中获取最新的代码,但没有a刚刚尝试推送的代码。我在问题中添加了“示例”部分,以使我的场景更加清晰。但这是我想要避免的问题…:\我不想在TFS中生成“sln”,因为它非常慢。比内置程序多花费4倍的时间Jenkins@AviramFireberger您需要在Jenkins端获取搁置集并构建项目,然后在TFS构建定义中添加脚本任务以检查Jenkins构建结果。如果Jenkins构建失败,TFS构建也会失败。但问题在于。。。“您需要在Jenkins侧获取搁置集”Jenkins没有在changes\shelvset中进行gatedcheck,因此您的解决方案无法工作..:\Jenkins仍然从TFS获得最新的变更集,您可以将搁置集添加到构建中。如果构建失败,TFS将不会签入搁置集,因此Jenkins不会从TFS获得错误代码。