#jenkins #bitbucket-server #multibranch-pipeline
#Дженкинс #bitbucket-сервер #многоотраслевой конвейер
Вопрос:
Мы настроили многоотраслевые конвейеры Jenkins для автоматического создания ветвей функций, которые подаются как запрос на извлечение в Bitbucket. Для создания Webhook в Bitbucket (сервер) мы используем параметризованные сборки для Jenkins. В Jenkins мы успешно настроили это, строящиеся ветви обнаруживаются как по волшебству.
Дело в том, что я должен сказать Дженкинсу проверять наличие новых ветвей каждые 2 минуты, я бы предпочел, чтобы Дженкинс уведомлял о создании, объединении или изменении PR. Все остальные уведомления из Bitbucket работают довольно хорошо, изменения в многоотраслевой сборке приводят к автоматической сборке, обычные сборки на многоотраслевых конвейерах none также работают.
Знает ли sombody, почему сканирование не может быть запущено из Bitbucket? Я могу предоставить скриншоты моей конфигурации, если кому-то это нужно… Спасибо, Карстен
Ответ №1:
Вам нужно будет добавить соответствующий Webhook в каждый репозиторий в Bitbucket, чтобы сборки запускались при определенных действиях. Мы используем дополнительное дополнение в Bitbucket (https://marketplace.atlassian.com/apps/1215474/post-webhooks-for-bitbucket ?хостинг = сервер и вкладка = обзор), но вы даже можете использовать реализацию Webhook по умолчанию в Bitbucket (описано здесь https://confluence.atlassian.com/bitbucketserver/managing-webhooks-in-bitbucket-server-938025878.html)
Конечная точка в Jenkins определяется плагином Multibranch. Это вот что: «YOUR_JENKINS_URL / bitbucket-scmsource-hook / notify»
См. https://support.cloudbees.com/hc/en-us/articles/115000053051-How-to-Trigger-Multibranch-Jobs-from-BitBucket-Server — за хорошего гида.
Комментарии:
1. Привет, круллы, спасибо за ваш ответ. Я должен был предоставить больше информации о веб-крючках, извините за это. Мы используем параметризованные сборки для Jenkins для определения веб-перехватов. Он отлично работает со всеми другими случаями, о которых мы уведомляем Jenkins. Тем не менее, он не работает на многоотраслевых конвейерах. Я думаю, что это скорее ошибка на стороне Дженкинса, потому что я вижу, что Bitbucket уведомляет Дженкинса, поэтому выполняется вызов REST, и он завершается успешно с 200.
2. я бы предпочел написать вам лично, но не могу найти способ здесь, в пользовательском интерфейсе. Я думаю, что это также может быть проблемой конфигурации в многоотраслевом задании. если бы вы могли добавить скриншот конфигурации, это помогло бы.
3. кроме того, я не совсем понимаю, что вы имеете в виду, говоря «использовать параметризованные сборки для Jenkins для определения веб-хуков». сам веб-хук предоставляется плагином multibranch, я думаю, вы не можете изменить его настройку. а затем вы просто используете webhook, настроив его в репозитории Bitbucket. что еще вы настраиваете на стороне задания Jenkins? как только вы создаете многоотраслевое задание, которое указывает на репозиторий, реализация webhook делегирует любые новости (запросы REST) этому заданию.
4. «Параметризованные сборки для Jenkins» — это подключаемый модуль Bitbucket, который упрощает управление WebHooks. Так нам проще, потому что у нас много перехватов. Дело в том, что все работает нормально, единственное, чего не происходит, это то, что сканирование многоотраслевого конвейера не работает.
5. Я обнаружил открытую проблему в этом плагине, но, похоже, это просто ошибка… github.com/ParameterizedBuilds/parameterized-builds/issues/232