Как опубликовать результаты Jenkins JUnit в Bitbucket

398
wutzebaer

У нас есть Jenkins, и у нас есть локальный Bitbucket Server.

Мы уже установили

  • "Плагин Bitbucket" на Дженкинс
  • "Post Webhooks" на Bitbucket

Затем мы устанавливаем в Дженкинс

  • Филиалы для строительства
    • Спецификатор ветвления к "**"

В Post Webhooks мы проверили все события.

Теперь, когда мы нажимаем ветку или удаляем запрос Pull, jenkins запускается и, кажется, строит каждую ветку, которая имеет новые коммиты. (Но почему-то это не срабатывает, когда мы создаем запрос на извлечение.)

Теперь вопрос: как мы можем получить результаты нашего теста в Bitbucket, чтобы заблокировать слияние при сбое теста?

Мы нашли плагин «Нарушения для Bitbucket Server», но он охватывает только результаты статического анализа кода, а не отчеты jUnit или surfire.

Все это кажется отрывочным ... Есть ли хороший учебник, который рассказывает, как интегрировать Дженкинс и Bitbucket в обоих направлениях? Или это невозможно с доступными плагинами?

0

1 ответ на вопрос

1
jayhendren

Здесь есть три части:

  • Как вы запускаете сборку при создании PR? Для этого я использовал плагин "pull request notifier for bitbucket" . Технически это вам не нужно, если вы используете плагин «Bitbucket Branch Source» (упомянутый ниже), но он обеспечивает хорошее улучшение качества жизни для пользователей Bitbucket Server.

  • Как Bitbucket узнает, когда сборка Jenkins не удалась? Здесь есть несколько вариантов. На мой взгляд, безусловно, лучший способ решить эту проблему - использовать официальный плагин CloudBees "Bitbucket Branch Source" . Этот плагин позаботится о каждом аспекте настройки, который вам нужен на стороне Jenkins (если вы используете Bitbucket Cloud, он может даже позаботиться о конфигурации на стороне Bitbucket). Среди прочего, этот плагин автоматически обнаруживает репозитории, ветки и запросы на извлечение. Он также сообщает о результатах тестирования обратно в Bitbucket. Если вы не хотите использовать этот плагин по какой-либо причине, есть и другие решения, которые также сработали для меня, в частности плагин "Stash notifier", Этот плагин просто сообщает результаты теста обратно в Bitbucket, не более того.

  • Как вы предотвращаете слияние неудачных PR? Это можно решить с помощью настроек репозитория в Bitbucket. В частности, Настройки репозитория> Проверки слияния> Минимум успешных сборок. Если вы хотите применить это ко всем репозиториям в проекте, а не к одному репозиторию за раз, этот параметр также можно отрегулировать на уровне проекта в последних версиях Bitbucket (начиная с 5.5, IIRC - мне лень посмотрите список изменений прямо сейчас).

Похожие вопросы