7

Всякий раз, когда мой Jenkins получает уведомление о новом коммите git в моем репозитории foo, я получаю следующий ответ log/error на клиент запуска:

Scheduled polling of foo
No git consumers for URI ssh://git@localhost:9777/path/to/foo.git

Это неудачное уведомление не начинает строительство. Использование руководства "Build Now" начинает строительство успешно.

Настроить

  • У меня есть экземпляр Jenkins, который прослушивает localhost:8666 .
  • У меня есть демон SSH, слушающий на localhost:9777 .
  • В Jenkins у меня есть проект Maven на основе git:
    • "Имя проекта Maven" - это foo .
    • "URL репозитория Git" - это ssh://git@localhost:9777/path/to/foo.git .
  • В этом голом репозитории у меня есть файл hooks/post-receive с содержимым:

,

# this is file post-receive
curl http://localhost:8666/git/notifyCommit?url=ssh://git@localhost:9777/path/to/foo.git

Это уведомление на основе коммитов работало хорошо. У меня такое ощущение, что он перестал работать хорошо, когда я перешел со стандартного порта SSH 22 на нестандартный 9777.

Что мне нужно сделать, чтобы уведомление о фиксации привело к успешному триггеру сборки?


Возможно соответствующие файлы исходного кода:

3 ответа3

5

Что нужно помнить при подключении крючка к Дженкинсу:

  1. Выберите опцию Poll SCM в триггерах сборки, оставив текстовое поле "расписание" пустым

  2. Параметр url=xxx должен соответствовать «URL-адресу хранилища», указанному в конфигурации задания. Если перед ним стоит префикс ssh://, вы должны оставить его в вызове уведомления

  3. Не забудьте внести push a change to the repo вы настроили! Чтобы убедиться, что у вас есть изменения:http://jenkins-url:jenkins-port/job/JOB-NAME/scmPollLog/ должен содержать "Обнаруженные изменения" в последней строке.

Источник: Git плагин документы

0

Я застрял с тем же.

Проблема в том, что они не изменились в вашем git с момента последней сборки. Просто внесите некоторые изменения, а затем используйте URL-адрес уведомления jenkins, он будет работать.

Я использовал:

http://<jenkins-server_link>/git/notifyCommiturl=http://<gitrepo>.git
-1

Вам не нужна часть ssh://.

попробуйте с:

curl http://localhost:8666/git/notifyCommit?url=git@localhost:9777/path/to/foo.git

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .