我已经使用Gerrit Trigger插件配置并集成了Jenkins和Gerrit,并且作为Jenkins中的postbuild任务的一部分,我正在执行以下脚本:
extern void writehello(void);
以下是sputnik的内容:https://github.com/TouK/sputnik
但我得到了以下输出:
/opt/sputnik/bin/sputnik --conf /opt/sputnik/myconf.properties --changeId $GERRIT_CHANGE_ID --revisionId $GERRIT_PATCHSET_REVISION
echo "exit 0 workaround"
答案 0 :(得分:2)
问题是由Jenkins的this security patch引起的 - 它适用于版本1.651.2
,2.3
及更高版本。
这是list of affected plugins。
基本上它禁止插件注入未明确配置用于构建的参数,因此您的Jenkins不了解$GERRIT_CHANGE_ID
和$GERRIT_PATCHSET_REVISION
。
根据Gerrit Trigger Plugin creators' notice:
作为一种解决方法,您可以将以下JAVA_ARG添加到您的jenkins配置
-Dhudson.model.ParametersAction.keepUndefinedParameters=true
然而,我发现这个解决方案太具侵略性,所以我想出了另一个解决方案。只需将这些字符串参数添加到作业配置中:
GERRIT_CHANGE_ID
GERRIT_PATCHSET_REVISION
就是这样。现在你的配置应该是这样的: