Как я могу определить, что изменение Джерринта необходимо изменить на Дженкинс?
Я хочу выполнить быстрый отказ на заданиях 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
Каким-то образом это работало на некоторых работах с использованием конвейеров, но не на других, я подозреваю из-за другого метода оформления заказа. Итак, все еще ищем надежный способ сделать это.