当更改已过时并且需要通过在作业开始时添加一段代码来触发和错误时,我想在 Gerrit 触发的 Jenkins 作业上快速失败:“首先重新设置您的更改。”
您可以在使用 Gerrit 触发器插件时传递给 Jenkins的哪些环境变量中找到由 Gerrit 插件定义的 Jenkins 变量列表?
当更改已过时并且需要通过在作业开始时添加一段代码来触发和错误时,我想在 Gerrit 触发的 Jenkins 作业上快速失败:“首先重新设置您的更改。”
您可以在使用 Gerrit 触发器插件时传递给 Jenkins的哪些环境变量中找到由 Gerrit 插件定义的 Jenkins 变量列表?
这个失败的尝试:
#!/bin/bash
set -exo pipefail
# fast-fail if gerrit change is not rebased
if [ -z ${GERRIT_PROJECT+x} ]; then
pushd $GERRIT_PROJECT
MERGE_BASE=$(git merge-base HEAD origin/$GERRIT_BRANCH)
git rebase
[ "$MERGE_BASE" == "$(git merge-base HEAD origin/$GERRIT_BRANCH)" ] || {
echo "FATAL: Please rebase $GERRIT_CHANGE_URL change request before testing it."
exit 101
}
popd
fi
不知何故,这在使用管道的某些工作上有效,但在其他工作上却失败了,我怀疑是由于不同的结帐方法。因此,仍在寻找一种可靠的方法。