TFS、Jenkins和如何使用内部版本号更新工作项

TFS、Jenkins和如何使用内部版本号更新工作项,jenkins,tfs,msbuild,continuous-integration,Jenkins,Tfs,Msbuild,Continuous Integration,我们正在使用TFS和TFS构建服务。我们正在考虑将构建服务迁移到Jenkins,但遇到了一些问题。据介绍,TFS和Jenkins插件有一些不太好的地方。所有这些我们都使用了很多: 关联变更集–团队构建自动关联包含在构建中的变更集列表 关联工作项–团队构建分析关系,并将工作项与构建关联。实际上,它遍历工作项树(父项)并在链中维护该关联 这仍然是真的吗?我们有这样一种情况: 开发人员签入修复bug或解决用户故事的代码。它通过将他的签入与工作项ID关联来实现这一点 他的签入触发将工作项与其变更集

我们正在使用TFS和TFS构建服务。我们正在考虑将构建服务迁移到Jenkins,但遇到了一些问题。据介绍,TFS和Jenkins插件有一些不太好的地方。所有这些我们都使用了很多:

  • 关联变更集–团队构建自动关联包含在构建中的变更集列表
  • 关联工作项–团队构建分析关系,并将工作项与构建关联。实际上,它遍历工作项树(父项)并在链中维护该关联
这仍然是真的吗?我们有这样一种情况:

  • 开发人员签入修复bug或解决用户故事的代码。它通过将他的签入与工作项ID关联来实现这一点
  • 他的签入触发将工作项与其变更集关联的生成。对于Bug,构建将使用构建编号更新“集成内部构建”字段。我们使用此字段了解witch版本中的错误已修复

有没有办法让Jenkins像TFS build service那样行事?

另一种选择是在TFS端使用虚拟构建混合这两种构建,从而直接设置记录并启动Jenkins的构建。一些提示 和

这种方法需要一点努力,但有许多优点:

  • 没有大爆炸,机会主义地使用詹金斯
  • 可以继续使用现有版本
  • 在TFS中具有构建标识符允许您进行全面监视并使用测试功能

我为一个需要jenkins构建的项目提供了一个VSTS构建定义,但我们的所有其他产品都在本地使用VSTS。为了保持一致性,此生成定义触发jenkins生成。我们将构建定义配置为不同步代码,因为jenkins将下载它(节省时间),并且不将工件发布回代理(我找到了另一个脚本)。这允许开发人员继续正常使用git,并且构建/发布过程与我们的其他产品一致。除了任务跟踪等等。

我想你会很挣扎,Jenkins构建集成永远不会像TFS构建系统那样紧密。是什么推动了向詹金斯的迁移?如果升级到TFS 2015是一个选项,那么构建将更加灵活和可扩展,这可能会为您提供另一条路。我们将迁移到Jenkins,以利用Jenkins拥有和TFS没有的许多第三方插件(开源或非开源)。我工作的公司已经使用Jenkiks很长一段时间了,但其他业务部门使用Jira而不是TFS,他们有很多定义良好的插件和流程,我希望重用。TFS 2015可能是一个选项,但我必须更好地理解它可以做什么,它还没有做什么。我们正在寻找类似的方法。你最后的决定是什么?我们放弃了