[英]stderr: fatal: Couldn't find remote ref $GERRIT_REFSPEC
在有人把我打倒之前..我已經看過所有有這個錯誤的消息,但是他們似乎從一個不同的問題中表現出來,我無法得到任何實質性的信息。 以下是我在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:stdout:stderr:致命:無法找到遠程ref $ GERRIT_REFSPEC
我花了一些時間來搜索如何添加Gerrit Trigger插件手冊中提到的這個字符串參數。 我使用Jenkins 1.567和Gerrit Trigger 2.11.1。
截至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。 您應該注意更新的問題在這里 。
但是,請注意,如果您只從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
看起來你手動運行了Jenkins Gerrit Trigger構建? 觸發頁面說,
Using "Build Now"
[..]
Add a String parameter called GERRIT_REFSPEC with the default value refs/heads/master
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.