【问题标题】:How do I detect that gerrit change needs rebasing on Jenkins?我如何检测到 gerrit 更改需要基于 Jenkins 重新调整?
【发布时间】:2017-11-16 22:35:03
【问题描述】:

当更改已过时并且需要通过在作业开始时添加一段代码来触发和错误时,我希望在 Gerrit 触发的 Jenkins 作业上快速失败:“首先重新设置您的更改。”

您可以在 What environment variables are passed go Jenkins when using the Gerrit Trigger Plugin? 找到 Gerrit 插件定义的 Jenkins 变量列表

【问题讨论】:

    标签: git jenkins gerrit git-review


    【解决方案1】:

    这个失败的尝试:

    #!/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
    

    不知何故,这在使用管道的某些工作上有效,但在其他工作上却失败了,我怀疑是由于不同的结帐方法。因此,仍在寻找可靠的方法。

    【讨论】:

      猜你喜欢
      • 2012-05-12
      • 1970-01-01
      • 2015-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-27
      • 2012-11-17
      相关资源
      最近更新 更多