在有人向我发枪之前......我已经查看了所有出现此错误的消息,但它们似乎表现出不同的问题,我无法获得任何实质性信息。以下是我在git轮询日志中遇到的错误...
我对错误#1没有任何线索,请提供输入
为此,我读了其他问题,当有一个gerrit触发器时,$ GERRIT_REFSPEC被动态填充,但我不明白为什么我会在git poll日志中看到这个。我该如何解决这个问题?
错误讯息:
错误:从原点/原点获取问题 - 可能无法使用。无论如何继续
hudson.plugins.git.GitException:命令“/ usr / bin / git fetch -t ssh://company.com:29418 / platform / vendor / proprietary / mla.git $ GERRIT_REFSPEC”返回状态代码128: 标准输出: stderr:致命:找不到远程ref $ GERRIT_REFSPEC
答案 0 :(得分:15)
我花了一些时间来搜索如何添加Gerrit Trigger插件手册中提到的字符串参数。我使用Jenkins 1.567和Gerrit Trigger 2.11.1。
答案 1 :(得分:7)
截至2016年5月,此错误可能是由Jenkins 2.3或1.651.2中引入的修复SECURITY-170 引起的。
在2016年5月的安全公告中,宣布了一个漏洞(SECURITY-170 / CVE-2016-3721),攻击者可能会利用某些Jenkins插件允许定义任意构建参数的事实 - 这些参数又被注入建设环境。
此问题的修复程序 - 最初包含在Jenkins版本1.651.2和Jenkins 2.3中 - 意味着在构建时默认情况下,只有在作业配置中明确定义的构建参数才可用。默认情况下,插件添加到构建中的任何其他任意参数都不可用。
由于有许多插件依赖于较旧的Jenkins版本中的行为,因此升级到1.651.2或2.3意味着某些构建行为可能会被破坏。
其中一个受影响的插件是Gerrit Trigger。您应该注意更新的问题是here。
但是,请注意,如果您只从Gerrit构建一个分支,Rado在构建配置中手动定义GERRIT_REFSPEC
参数的解决方案可以暂时解决此问题。
通过在ubuntu上将以下JAVA_ARGS添加到/ etc / default / jenkins可以获得解决方法
JAVA_ARGS="$JAVA_ARGS -Dhudson.model.ParametersAction.keepUndefinedParameters=true"
您还可以添加允许的变量
JAVA_ARGS="$JAVA_ARGS -Dhudson.model.ParametersAction.safeParameters=GERRIT_REFSPEC,GERRIT_BRANCH
答案 2 :(得分:3)
看起来您手动运行了Jenkins Gerrit Trigger构建?触发页面显示,
Using "Build Now"
[..]
Add a String parameter called GERRIT_REFSPEC with the default value refs/heads/master
答案 3 :(得分:-1)
解决此问题后,如果 Jenkins 仍未提取最新代码提交(未合并),则需要添加其他行为 - > 选择构建内容的策略 - > Gerrit Trigger