jenkins ci中的svn多分支更改库

jenkins ci中的svn多分支更改库,svn,jenkins,multibranch-pipeline,Svn,Jenkins,Multibranch Pipeline,我已经为一个多分支svn项目设置了一个jenkins实例,它是由提交后钩子将受影响的branche的名称作为参数传递给jenkins触发的。 然后,Jenkins从给定的分支签出源代码并编译它们。这在一个限制条件下非常有效。 如果构建“x”和“x+1”确实在同一个分支上运行,jenkins会向我显示提交的更改,这触发了构建的“更改”链接下的构建“x+1”。如果构建“x”和“x+1”在不同的分支上运行,我将在jenkins中得到一个空的更改列表,并在“上一个构建中未记录任何修订”行中获得该列表。

我已经为一个多分支svn项目设置了一个jenkins实例,它是由提交后钩子将受影响的branche的名称作为参数传递给jenkins触发的。
然后,Jenkins从给定的分支签出源代码并编译它们。这在一个限制条件下非常有效。
如果构建“x”和“x+1”确实在同一个分支上运行,jenkins会向我显示提交的更改,这触发了构建的“更改”链接下的构建“x+1”。如果构建“x”和“x+1”在不同的分支上运行,我将在jenkins中得到一个空的更改列表,并在“上一个构建中未记录任何修订”行中获得该列表。

我现在的问题是:我如何让jenkins不基于上一个版本进行更改,而是基于同一分支进行上一次成功的版本更改?

据我所知,jenkins总是基于特定作业中的上一个版本计算更改。因此,如果你在同一份工作中运行多个分支机构,那么你就不走运了。我建议您研究以下插件之一:

  • 管道似乎是解决问题的一种方法。如果您向存储库中添加一个Jenkins文件,它将告诉Jenkins如何构建您的项目。Multibranch插件通过附加功能扩展了这一功能,它将检测新的分支并创建新的子作业

  • 如果你坚持做自由式的工作,那么试试这个,因为我知道这是自由式的工作,但会为每个分支创建新的子工作。但正如它在链接上所说,它已经被管道和多分支管道所取代


据我所知,Jenkins总是根据特定作业中以前的构建计算更改。因此,如果你在同一份工作中运行多个分支机构,那么你就不走运了。我建议您研究以下插件之一:

  • 管道似乎是解决问题的一种方法。如果您向存储库中添加一个Jenkins文件,它将告诉Jenkins如何构建您的项目。Multibranch插件通过附加功能扩展了这一功能,它将检测新的分支并创建新的子作业

  • 如果你坚持做自由式的工作,那么试试这个,因为我知道这是自由式的工作,但会为每个分支创建新的子工作。但正如它在链接上所说,它已经被管道和多分支管道所取代


不同的分支机构是两种不同的工作还是相同的工作?什么作业类型,freestyle?这是一个使用svn和.net msbuild的自由作业。我们有一个产品,其中多个变更任务由多个团队成员并行处理。对不同版本(分支)的源代码的调用是相同的。好的,谢谢你的澄清。请看下面我的答案。不同的分支机构是两种不同的工作还是相同的工作?什么作业类型,freestyle?这是一个使用svn和.net msbuild的自由作业。我们有一个产品,其中多个变更任务由多个团队成员并行处理。对不同版本(分支)的源代码的调用是相同的。好的,谢谢你的澄清。请看下面我的答案。谢谢你的时间和研究,乔恩,不幸的是,你的两个建议对我来说都不是一个选择,因为我只想要一份工作。也许我需要为将来开发一个插件,它将正确地收集案例的更改。目前,我可以接受这样的限制:只有在上一个版本与当前版本在同一个分支上运行时,才会显示更改。感谢您的时间和研究Jon,不幸的是,您的两个建议对我来说都不是一个选项,因为我只想要一份工作。也许我需要为将来开发一个插件,它将正确地收集案例的更改。目前,我可以接受这样的限制:只有在上一个构建与当前构建在同一个分支上运行时,才会显示更改。