TFS 2015,Git和Jenkins工作流程问题

TFS 2015,Git和Jenkins工作流程问题,git,jenkins,tfs,continuous-integration,Git,Jenkins,Tfs,Continuous Integration,我正在尝试建立一个新的工作流程。我们正在使用由Git SCM支持的TFS 2015内部部署。但是,我也希望使用Jenkins进行构建和部署。我们正在为android、nodejs和其他一些东西构建.NET/monojava&Java。另外,从詹金斯自动部署到docker。因此,尽管新的TFS构建看起来更好,但我现在不想尝试它们 我的问题是TFS请求和代码审查。开发人员不能提交给master,我已经设置了分支策略,所以他们必须提交一个pull请求,该请求涉及将分支推送到远程。但是,我不能设置“必需

我正在尝试建立一个新的工作流程。我们正在使用由Git SCM支持的TFS 2015内部部署。但是,我也希望使用Jenkins进行构建和部署。我们正在为android、nodejs和其他一些东西构建.NET/monojava&Java。另外,从詹金斯自动部署到docker。因此,尽管新的TFS构建看起来更好,但我现在不想尝试它们

我的问题是TFS请求和代码审查。开发人员不能提交给master,我已经设置了分支策略,所以他们必须提交一个pull请求,该请求涉及将分支推送到远程。但是,我不能设置“必需的构建”策略,因为虽然我已经链接了Jenkins,但它只允许我选择TFS构建作为分支策略的一部分

因此,我使用服务挂钩功能将Jenkins链接到TFS,并且我可以通过这种方式启动TFS构建,但我认为这对我没有帮助,因为它必须监视特定的分支。因此,我只是从Jenkins和building对回购协议中除master之外的所有分支进行投票

我想做的是让开发人员将他们的分支推到远程,让Jenkins构建它(我已经完成了这一步),然后以某种方式将构建报告或指向它的链接发布回TFS,这样当其他开发人员使用TFS UI进行代码审查时,就可以去查看构建报告。(这就是我被卡住的地方)

完成此操作并执行合并后,其他用于执行部署等的构建可以针对主分支运行。这就是我正在苦苦挣扎的TFS的链接,还有其他人得到了答案吗


有人能解决这个问题吗?我尝试使用git publish插件将构建结果的url添加到git notes中,但TFS似乎没有在任何地方显示。我曾考虑过建立一个TFS构建,简单地称之为Jenkins作业,但它感觉有点粗糙。有更好的办法吗

根据您的描述,您希望从TFS触发Jenkins,并将Jenkins构建结果发布回TFS


As服务挂钩使您能够在tfs项目中发生事件时在其他服务上执行任务。但TFS仅为具有生成定义的生成提供生成报告。在TFS方面,没有将Jenkins构建结果发布回TFS的功能。

我最终解决了这个问题。我所做的是让Jenkins向pull请求添加另一个提交,提交中的注释是指向Jenkins构建报告的链接。我还必须修改Jenkins作业以忽略Jenkins用户的提交,以防止构建的无限循环

现在,当一个请求被提交时,Jenkins会选择它,构建它并创建额外的提交。作为一名评审员,我收到一封电子邮件,提醒我有一个拉取请求。我点击链接去看一看,当我去提交时,我看到了Jenkins构建报告的链接


这不是完美的,但很管用。这当然是一个比放弃更好的解决方案,因为TFS没有这个功能

这有点失败主义。正如我所说,我已经考虑过创建一个名为Jenkins构建的TFS构建。今天早上,我还让Jenkins向pull请求添加一个提交,其中包括指向Jenkins构建结果的链接。