我有一个Jenkins项目,我想在构建之前将最新的原件/母版合并到功能分支中。通过BitBucket发出拉动请求以启动该过程。
我正在使用Git插件,并且在源代码管理下,存储库URL是我将用作项目的git clone的东西。
要建立分支,我正在使用**/pull-requests/**
来确保建立的唯一分支是试图合并到master中的分支。
在其他行为下,我具有“合并之前生成”,其值如下:
Name of repository: origin
Branch to merge to: master
merge strategy: recursive
fast-forward mode: --ff
这没有用。当我尝试使用它时,基于已经从另一个功能分支合并到master中的pmd问题,构建仍然不稳定。
编辑
在“准备运行环境”和“在构建环境中->使用ssh在远程主机上执行shell脚本”中,我还尝试根据this answer使用git命令。两次都没有用,但是也许我实施错了?
答案 0 :(得分:1)
我发现的解决方案是在“其他行为”中,我需要清除存储库并强制克隆。更改之后,合并的位置应该是。
据我了解发生了什么问题:
在擦除存储库之前,它正在使用先前的构建提交进行合并。因此,当合并发生时,合并提交要早于实际合并和构建的提交。然后pmd / checkstyle将失败,因为它正在测试合并前的提交。
我在这里找到了此解决方案:https://issues.jenkins-ci.org/browse/JENKINS-43485