Как определить, что изменение gerrit требует перебазирования на Jenkins?

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

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


person sorin    schedule 14.06.2017    source источник


Ответы (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

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

person sorin    schedule 14.06.2017