如何使用 gerrit 触发器插件在 jenkins 中执行变更集的 Jenkinsfile?

How to execute Jenkinsfile with gerrit trigger plugin for changeset in jenkins?

我们在 Jenkins 中使用 gerrit-trigger,构建在推送新的变更集以供审核时触发。

现在我们要介绍管道和使用解决方案Defining a pipeline in scm

因此我们预计当构建被触发时,下面的管道插件可以检查这个 refspec

但是${GERRIT_REFSPEC}在这里没有作用,它仍然检查master

 > git rev-parse refs/remotes/origin/master^{commit} # timeout=10
 > git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
Checking out Revision adf5d360582b1b24f088cfa8ac0f0ebf64a57692 (refs/remotes/origin/master)
Commit message: "DO:CI End of summer"
 > git config core.sparsecheckout # timeout=10
 > git checkout -f adf5d360582b1b24f088cfa8ac0f0ebf64a57692

有什么建议吗?

我认为你需要设置:

Repositories > Refspec               = $GERRIT_REFSPEC:$GERRIT_REFSPEC
Branches to build > Branch Specifier = $GERRIT_REFSPEC

重要提示:不要忘记取消选中“轻量级结帐”选项。

取消选中“轻量级结帐”就足够了!! gerrit-trigger 插件应该提到这一点! 浪费了我半天时间!

或者你可以在 Jenkins 作业中使用。

参考规格:${GERRIT_REFSPEC}

分支说明符:FETCH_HEAD.