Триггер Jenkins gerrit не получает сдачу во время сборки

Я настроил jenkins с плагином триггера gerrit для проверки каждой фиксации, которую мы отправляем в gerrit. Я ожидаю, что этот триггер будет включать мои последние изменения с исходным репо и создавать сборки. Но это клонирование только проекта репо и компиляция без моих изменений.

Ниже приведены мои настройки конфигурации для триггера gerrit в jenkins.

Refspec: $GERRIT_REFSPEC 
Branches to build: $GERRIT_BRANCH 
Build trigger: Gerrit event 
Trigger on: patch set created 
Gerrit project: added project and branch

Ниже приведено выходное сообщение сборки.

Triggered by Gerrit: http://ci-test1/22
Building on master in workspace /var/lib/jenkins/jobs/Build_Adserver_4.7/workspace
Checkout:workspace / /var/lib/jenkins/jobs/Build_Adserver_4.7/workspace - hudson.remoting.LocalChannel@733aee56
Using strategy: Default
Last Built Revision: Revision 701a75ef38aa191ac1b806c48e6b3451671888f6 (ads/4.7)
Fetching changes from 1 remote Git repository
Fetching upstream changes from abc
Commencing build of Revision 701a75ef38aa191ac1b806c48e6b3451671888f6 (ads/4.7)
Checking out Revision 701a75ef38aa191ac1b806c48e6b3451671888f6 (ads/4.7)
[workspace] $ /bin/sh -xe /tmp/hudson1375188638196718521.sh
+ echo 'Started Build'
Started Build
+ echo ..................
..................
+ echo 'Build Finished'
Build Finished
Finished: SUCCESS

Здесь 701a75ef38aa191ac1b806c48e6b3451671888f6 — это HEAD ветки репо, а 8cbda558adcad4fb7eb714e0b3fb98a6fbf5811c — это SHA-id моего последнего изменения, запустившего сборку.

Я также проверил рабочее пространство jenkins, оно не включает мои изменения.

извините, если мне не хватает какой-либо информации, чтобы упомянуть. Пожалуйста, дайте мне знать, пожалуйста, помогите мне, если я что-то пропустил здесь.


person Sridhar    schedule 27.09.2013    source источник


Ответы (4)


Вы должны изменить Choosing Strategy на Gerrit Trigger

Перейдите на страницу конфигурации вашего задания и нажмите вторую кнопку Advanced в разделе git. Почти внизу есть Choosing Strategy, который вам нужно изменить на Gerrit Trigger

Это заставит Git получить правильную версию для вашей сборки.

person uncletall    schedule 30.09.2013
comment
@uncletall, я тоже столкнулся с этой проблемой. Сейчас использую последние версии. Я не вижу выбора стратегии. В новой версии я правильно настроил параметры Gerrit Trigger. Но все равно мой дженкинс на старом коде. пожалуйста, помогите - person Virtual; 21.01.2014
comment
Я почти уверен, что он есть в последней версии. НО! Плагин git на данный момент серьезно сломан. Мне пришлось понизить версию Git Client Plugin с 1.6.1 до 1.4.6 и Git Plugin с 2.0.1 до 1.4.0, чтобы триггер Gerrit снова заработал. - person uncletall; 21.01.2014
comment
Вам пришлось понизить рейтинг? - person uncletall; 21.01.2014
comment
Некоторая дополнительная информация была бы очень полезной, я также столкнулся с этой проблемой в последней версии. Вам пришлось понизить рейтинг? - person Lewis Diamond; 01.03.2014
comment
Вы определили стратегию выбора? Я только что видел ваш другой ответ, думаю, вам удалось это исправить. - person uncletall; 03.03.2014
comment
@uncletall Возможно, вам придется перейти в раздел «Дополнительные варианты поведения» > «Добавить» > «Стратегия выбора того, что строить». - person Richard Shin; 29.04.2014
comment
Угадайте, что это в новой версии Git Trigger - person uncletall; 29.04.2014
comment
Спасибо, Ричард, кажется, выбор стратегии теперь является стратегией выбора того, что строить. - person pcambra; 21.05.2014

Использование Jenkins 1.532.2 Git Client Plugin 1.6.2 Git Plugin 2.0.1 Git Trigger 2.11.0

Вот шаги по настройке триггера Gerrit (по памяти, надеюсь, все работает нормально):

  1. Установите плагин (ы) «Gerrit Trigger», «Git Plugin» и «Git Client Plugin».
  2. В основной конфигурации jenkins (HOME-> Manage Jenkins) нажмите Gerrit Trigger.
  3. Создайте сервер и настройте его. Используйте «Проверить соединение», чтобы убедиться, что оно работает.
  4. В конце в разделе «Управление» нажмите «Пуск» (не знаю, что это делает и нужно ли это на самом деле, но я так и сделал).
  5. Перейдите в конфигурацию вашего проекта (MYPROJECT->Configure)
  6. Проверьте «Событие Gerrit» в разделе «Триггеры сборки».
  7. В недавно добавленном меню выберите свой сервер, свои триггеры и т. д.
  8. Для проекта Gerrit я использовал «Обычный» с «MYPROJECT» в качестве шаблона.
  9. Для ветки я использовал «Путь» и «**» в качестве шаблона (строит все ветки)
  10. В разделе «Управление исходным кодом» (от триггеров в моем пользовательском интерфейсе) нажмите «Git».
  11. Установите URL-адрес репозитория, здесь $USER соответствует мне, но в противном случае напишите правильного пользователя $GERRIT_SCHEME://$USER@$GERRIT_HOST:$GERRIT_PORT/$GERRIT_PROJECT
  12. Укажите ветку: $GERRIT_BRANCH
  13. В разделе «Репозитории» справа нажмите «Дополнительно», для «Refspec» введите $GERRIT_REFSPEC.
  14. Нажмите «Добавить» прямо внизу и выберите «Стратегия выбора того, что строить».
  15. Выберите «Триггер Геррита».

Не очень интуитивно понятно, но должно работать. Я предлагаю убедиться, что создаются правильные идентификаторы SHA1.

При возникновении ошибки стандартного вывода: фатальная: не удалось найти удаленную ссылку $GERRIT_REFSPEC

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

person Lewis Diamond    schedule 28.02.2014
comment
Вам пришлось понизить версию плагинов git? - person uncletall; 03.03.2014
comment
Не пришлось понижать. Однако я не использую самую последнюю версию jenkins. Смотрите мой ответ для точных номеров версий. - person Lewis Diamond; 03.03.2014
comment
Спасибо большое. Я делаю gerrit-›jenkins-›docker-pipeline, ваш ответ очень полезен! - person Windor C; 27.10.2016

Устранение мелких проблем в ответе Lewis измените значения на следующие, чтобы обеспечить сборку последней версии SHA1.

branch: $GERRIT_REFSPEC

REFSPEC: $GERRIT_REFSPEC:$GERRIT_REFSPEC

person SilleBille    schedule 01.12.2017

Я использую Jenkins 2.15 и столкнулся с проблемой, которая была решена со следующими настройками. В Git Advances добавьте Refspec: $GERRIT_REFSPEC Ветки для сборки: $GERRIT_BRANCH.

В разделе Дополнительные варианты поведения выберите Strategy for choosing what to build и выберите gerrit Trigger.

person James Roy    schedule 26.02.2019