2015-07-03 3 views
13

На моем Дженкинс я настроил:BitBucket Дженкинс не автоматически строить

Исходный код управления

Git репозиторий: https://bitbucket.org/username/project.git

учетные данные: имя пользователя/пароль

Builder Триггеры

Бу ИСД, когда изменение выталкивается Bitbucket

На моем Bitbucket Webhooks:

http://Jenkins.URL:8080/bitbucket-hook

Я попытался толкая небольшое изменение в текстовый файл, но Jenken не строит автоматически. Если я вручную нажму «build now», это покажет успех.

В чем может быть проблема?

В репозитории bitbucket проект прост. У меня просто есть текстовый файл для тестирования. Я думаю, что до тех пор, пока я внес изменения в текстовый файл, он должен запустить сборку Jenkins.

Edit:

В системном журнале Дженкинс, он показывает «опрос еще не работает.». Но в журнале запросов Bitbucket Webhook я вижу все запросы.

ответ

1

Как отметил @Adrian, вам все равно нужно выбрать «Poll SCM». Это немного неинтуитивно, но когда веб-сайт BitBucket отправляет запрос Дженкинсу, Дженкинс будет опросить изменения на всех работах, которые ссылаются на репозиторий BitBucket, где было сделано изменение. Вы можете установить длительный интервал времени для опроса, например. @monthly, поскольку вам не нужно планировать Дженкинса для запуска опроса; веб-крючок позаботится об этом, как только будет сделано изменение.

+0

Кажется, работает! Я установил 1 минуту. Дженкинс будет строить каждую минуту или всякий раз, когда в репозиторий внесены изменения. – user697911

+18

Разве это не значит, что это так все равно? В чем смысл триггера битбакета? –

2

Вы отметили флажок, где говорится: Опрос SCM? Также убедитесь, что вы планируете короткое время для обнаружения изменений в репозитории как можно скорее.

Возможно, ваша проблема заключается в том, что вы планируете длительное время, и после вашего толчка Дженкинс ждет некоторое время, чтобы обнаружить изменения.

+0

Я выбрал «Сборка, когда изменение переместится в BitBucket», а не опрос SCM. – user697911

+0

Да, я имел в виду, что вы должны выбрать оба. Но, как я вижу, вы уже сделали это, и он работает;) –

+2

Я сам с этим борюсь. (Got Poll SCM включился, и он все еще не работает.) Но в отношении этого ответа, конечно, если я включу частый опрос scm, скрипт сборки будет работать так регулярно в любом случае. В каком случае, в чем смысл кнопки pushbucket push? –

23

Вам не нужно активировать опрос SCM ..

Вы должны убедиться, что ваш Webhook (Settings-> Webhooks) указует на вашу Дженкинс bitbucket-hook как следующее: «https://ci.yourorg.com/bitbucket-hook/».

Обратите внимание, что последний «/», без него, сборка не будет запущена.

Это неприятная вещь, так как вы получите код статуса 200 от Дженкинса при отправке запросов с или без него.

+4

Это должен быть принятый ответ, такие детали легко пропустить. – lloiacono

+1

+1 за отсутствующий «/» - это сработало и потратило много времени на то, чтобы попробовать все разные методы. Я также могу подтвердить, что вам НЕ нужен параметр SCM опроса. –

+0

Мне бы хотелось получить эту работу без опции опроса SCM, но когда я попробовал предложение Хаукура, я получил ошибку 404. Есть ли что-то на стороне Дженкинса, которая должна быть включена, кроме плагина Bitbucket? Это работает для меня, когда я устанавливаю параметр опроса SCM в сочетании с «Сборка, когда изменение переместится в BitBucket». Благодарю. – user2337270

0

Я делаю то же самое, но без Bitbucket Plugin в моих Дженкинс.

Я использую Jenkins Plugin в своем Bitbucket. Я настроил webhook в каждом репозитории и указал просто URL-адрес Jenkins. Затем, в каждую работу, которая мне нужна, просто оставьте флажок «Опрос SCM» с/без расписания (не обязательно).

С этим работает очень хорошо, и я избегаю установки другого плагина в моем Jenkins.

1

Использование Jenkins 2.53 и плагина Bitbucket 1.1.5, мне пришлось вручную запустить сборку, чтобы заставить webhook работать.

Что наконечниками меня была эта линия от documentation:

Если SCM о задании (мерзавец) обнаруживает, что удаленный репозиторий содержит изменения, ТО

После этого webhook работы большой.

0

Вы должны обратить внимание на поле спецификатора филиала и указать отрасль, что , нажав на.

Плагин Jenkins для Bitbucket не запускает работу, если изменений не обнаружено. вы можете добавить несколько ветвей для просмотра.

как указано только в официальной документации Если SCM (git) задания определяет, что удаленный репозиторий имеет изменения, ТОГДА он будет вызывать сборку.

Итак, если вы оставите спецификатор ветви с его значением по умолчанию */master, и вы нажимаете на другую ветку, то задание не будет выполнено.

Смежные вопросы