Jenkins抛出java.lang.IllegalArgumentException:无效的refspec refs / heads / **错误

AO1*_*O17 8 jenkins jenkins-pipeline

我试图在任何合并请求更改时激活管道。只要我的管道脚本在Jenkins UI。现在,我将脚本外包给GitLab,并且结帐应该通过管道通过scm选项进行。

但是我建立的所有东西(是的,它触发了)是:

java.lang.IllegalArgumentException:无效的refspec refs / heads / **

如果我将分支说明符留空,则会发生这种情况,这是因为我想听任何更改。如果我指定了分支,则构建将通过。

我的refspec:

+refs/heads/*:refs/remotes/origin/* +refs/merge-requests/*/head:refs/remotes/origin/merge-requests/*
Run Code Online (Sandbox Code Playgroud)

Tim*_*ich 44

这很可能是 Jenkins 的错误。https://issues.jenkins-ci.org/browse/JENKINS-46588 无论如何似乎有一个解决方案:

在 Pipeline -> SCM -> Branches to build -> "Branch Specifier (blank for 'any'): Do not use blank for any or * or .* or ** 下的项目配置中。使用:

*/*
Run Code Online (Sandbox Code Playgroud)

另一种解决方法是禁用 Lightweight Checkout。

PS:非常感谢 ChrisAnnODell 和 Omurbek Kadyrbekov 首先链接解决方案。我仍然有点困惑,现在已经超过 2 年没有修复了......