Подключите Github к защищенному Jenkins через HTTP Post-Commit Hook - PullRequest
9 голосов
/ 05 августа 2011

Я установил Jenkins с плагином Github на моем тестовом сервере. Я обеспечил защиту Jenkins, разрешив только авторизованным пользователям (анонимные пользователи не имеют никаких прав) и безопасные соединения.

К сожалению, ловушка post-commit, предложенная Github, не работает в моем случае. Я попытался получить доступ к URL-адресу https://jenkins.on.my.server/github-webhook/ вручную, и он выдал ошибку «net.sf.json.JSONException: null object», что нормально, поскольку я не опубликовал JSON вместе со своим запросом .

Мой вопрос:

Я защитил Jenkins аутентифицированными пользователями, поэтому я должен использовать URL в формате https://user@pw:jenkins.on.my.server/github-webhook/, верно? Поскольку я не хочу публиковать учетные данные по всей сети, могу ли я использовать безопасное соединение в качестве перехвата после фиксации для Github?

Ответы [ 4 ]

3 голосов
/ 19 сентября 2011

Смотрите мой пост в блоге по этому вопросу:

http://fourkitchens.com/blog/2011/09/20/trigger-jenkins-builds-pushing-github

Мы успешно используем https URLS, и да, он поддерживает синтаксис, который у вас там есть (это должно быть имя пользователя: password@jenkins.on.my.server, как указывает Саша Джолич).

Убедитесь, что само задание правильно настроено, поэтому при сборке оно правильно подключается к Github и клонирует репозиторий.

Помните, что плагин Jenkins автоматически решает, какие задания создавать, используя входящие данные POST, поэтому задания должны быть правильно настроены и построены, прежде чем будет работать удаленный триггер.

Кроме того, убедитесь, что пользователь, которого вы настроили в Jenkins, имеет правильные разрешения (Общее чтение, Создание задания и Чтение задания), как указано здесь:

Дженкинс и GitHub webhook: HTTP 403

2 голосов
/ 10 декабря 2011

После того, как я довольно долго возился с этим, я в итоге использовал превосходный Github OAuth Plugin для Дженкинса. Цитировать документацию:

Начиная с версии 0.4, есть способ разрешить использование URL-адреса обратного вызова github-webhook для получения хитов после фиксации от Github.

Наряду с Github Plugin , который запускает сборку, это работает наиболее элегантно!

1 голос
/ 02 августа 2012

Я столкнулся с той же проблемой - вы можете избежать использования плагина github oauth, используя:

http://user:pw@jenkins.on.my.server

0 голосов
/ 16 августа 2011

Не уверен, поддерживает ли Github HTTPS и URL-адреса с именами пользователей и паролями, но в указанном вами URL-адресе неправильно указаны имя пользователя и пароль - вместо этого он должен выглядеть так:*

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...