Как я могу определить, что изменение Джерринта необходимо изменить на Дженкинс?

Я хочу выполнить быстрый отказ на заданиях Jenkins, инициированных Герритом, когда изменения устарели, и они нуждаются в перебазировании, добавив фрагмент кода в начале задания, который вызывает и выдает ошибку: "Сначала измените базу вашего изменения".

Вы можете найти список переменных Jenkins, определенных плагином Gerrit, в разделе Какие переменные среды передаются в Jenkins при использовании плагина Gerrit Trigger?

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

Каким-то образом это работало на некоторых работах с использованием конвейеров, но не на других, я подозреваю из-за другого метода оформления заказа. Итак, все еще ищем надежный способ сделать это.

Другие вопросы по тегам