GERRIT_REFSPEC всегда пуст в конвейере Jenkins

Я настроил конвейер Jenkins, в котором хочу запустить Jenkinsfile на основе триггера Gerrit. Я много читал здесь о том, как настроить это. Я добавил переменную GERRIT_REFSPEC в качестве параметра и $GERRIT_REFSPEC в Advanced->Refspec в своем конвейере.

Проблема в том, что GERRIT_REFSPEC всегда пуст, когда я запускаю сборку из Gerrit. Я бы ожидал, что он будет содержать что-то вроде "refs/changes/../.../.". GERRIT_BRANCH и другие переменные установлены правильно. Даже когда я запускаю сборку из Jenkins, запуская "Build with parameters" и перезаписывая значение, после этого оно становится пустым.

Я видел ошибку, потому что проверка Git идет не так. Я также попытался создать скрипт конвейера непосредственно в Jenkins и отразить там несколько параметров Gerrit. GERRIT_REFSPEC кажется единственным пустым. Все остальные переменные содержат достоверную информацию.

Может ли кто-нибудь сказать мне, что мне здесь не хватает? Спасибо!


person Community    schedule 29.07.2019    source источник
comment
Вы запускаете сборку вручную? Переменная GERRIT_REFSPEC не будет устанавливаться таким образом автоматически, но для этого вы можете использовать Jenkins › Query и Trigger Gerrit Patches. С другой стороны, я думаю, что это должно работать, если вы создаете переменную через параметр.   -  person Marcelo Ávila de Oliveira    schedule 29.07.2019
comment
Нет, я запускаю сборку, загружая изменения в Gerrit. Я также запустил сборку вручную и заполнил параметр вручную. Я мог видеть, что в этом случае он все еще пуст.   -  person    schedule 29.07.2019
comment
Можете ли вы подтвердить, что используете подключаемый модуль Gerrit Trigger (wiki.jenkins.io /plugins/servlet/mobile?contentId=45481993)? Если да, то запускается ли ваша сборка событием Ref Updated? Из документа: Примечание. Имейте в виду, что $GERRIT_BRANCH и $GERRIT_REFSPEC не установлены в случае Ref Updated. Если вы хотите инициировать сборку, вы можете установить для Refspec и «Ветви для сборки» значение $GERRIT_REFNAME.   -  person gareth_bowles    schedule 30.07.2019
comment
Можете ли вы объяснить немного больше, когда запускается событие обновления Ref и какие есть другие варианты?   -  person    schedule 30.07.2019
comment
Я ничего не менял в конфигурации Gerrit. Мы используем это и для обычных проектов Jenkins. Там мы также используем REFSPEC. Единственная разница здесь в том, что я создал конвейерный проект. Таким образом, «отправляющая» сторона (будучи Git/Gerrit) одинакова.   -  person    schedule 30.07.2019


Ответы (1)


Отмените упрощенную оплату:

введите здесь описание изображения

person yu jiang    schedule 30.10.2020