我正在尝试在任何合并请求更改时激活管道。只要我的管道脚本在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/*
答案 0 :(得分:1)
这很可能是Jenkins的错误。 https://issues.jenkins-ci.org/browse/JENKINS-46588 无论如何,似乎有一个解决方案:
在项目配置中的“管道”->“ SCM”->“要构建的分支”->““分支说明符”中(“ any”为空白): 请勿对任何或*或。*或**使用空格。使用:
*/*
另一种解决方法是禁用轻量级结帐。
PS: 非常感谢ChrisAnnODell和Omurbek Kadyrbekov将解决方案放在第一位。 我仍然感到困惑的是,现在已经有两年多没有修复了...