#jenkins #continuous-integration #gerrit
#дженкинс #непрерывная интеграция #gerrit
Вопрос:
Я попытался создать CI в своей системе. Дженкинс может прослушать событие gerrit push и выполнить проверку кода. Но jenkins Gerrit-Trigger не сообщает 1 проверено после успешного выполнения задания.
В выводе консоли отображается сообщение об ошибке: ERROR Gerrit response: HTTP method POST is not supported by this URLFinished: SUCCESS
Versions:
Windows 10
Jenkins 2.263.1
Gerrit 2.10.2
Gerrit Trigger Plugin 2.32.0
Git Plugin 4.5.0
Есть какое-то предупреждение, имеет ли это значение?
Мой элемент Значения отчетов Gerrit:
Редактировать
Сообщение об ошибке больше не отображается после изменения --message Message
на двойные кавычки (Управление Jenkins> Триггер Gerrit> Проверенные команды Gerrit)
Ответ №1:
Некоторые вещи, которые вы должны учитывать:
- Ваша версия Gerrit (действительно) слишком старая, было бы очень хорошо, если бы вы обновили ее до более новой версии.
- Попробуйте снять флажок «Использовать REST API» в разделе Управление Jenkins> Gerrit Trigger> Дополнительно> REST API. Возможно, REST API Gerrit 2.10.2 несовместим с последней версией Gerrit-Trigger.
- Есть ли у вас метки «Code-Review» и «Verified», определенные в Gerrit? Имеет ли пользователь Gerrit, используемый Jenkins, разрешение на выполнение проверки (-1/ 1)?
Комментарии:
1. Я пытаюсь снять флажок «Использовать REST API», но ничего не меняется. Пользователь Gerrit может просмотреть код вручную. Откуда я знаю, что в Gerrit определены метки «Code-Review» и «Verified»?
2. Если я сниму флажок «Использовать REST API», в системном журнале появится ошибка, например «»—verified» недопустимый параметр», «»Успешно» недопустимый набор исправлений (1)»
3. Gerrit> Проект> Все проекты> Доступ, в разделе «Ссылка: ссылки / заголовки / *» есть метка «Проверка кода» для неинтерактивных пользователей, но нет метки «Проверено»
4. Очевидно, что у вас нет метки «Проверено» в вашем Gerrit, вы можете просматривать только с помощью метки Code-Review. Удалите «—verified» часть команды проверки в конфигурации триггера Gerrit (и всю другую «Проверенную» связанную часть).
5. Я удаляю «—verified» в Jenkins, но все равно терплю неудачу. Я пытаюсь
ssh -v -p 29418 user@host gerrit review %GIT_COMMIT% --message 'msg from jenkins batch' --code-review 1
выполнить пакетную команду Windows, и она работает нормально.