Jak opublikować wyniki Jenkins JUnit w Bitbucket

0

Mamy Jenkinsa i mamy lokalny serwer Bitbucket.

Już zainstalowaliśmy

  • „Bitbucket Plugin” na Jenkins
  • „Post Webhooks” na Bitbucket

Potem ustawiliśmy jenkinsa

  • Gałęzie do zbudowania
    • Specyfikacja oddziału na „**”

W Post Webhooks sprawdziliśmy wszystkie zdarzenia.

Teraz, gdy pchamy oddział lub usuwamy żądanie ściągnięcia, jenkins jest uruchamiany i wydaje się, że buduje każdą gałąź, która ma nowe zatwierdzenia. (Ale jakoś nie jest uruchamiany, gdy tworzymy żądanie ściągnięcia).

Pytanie brzmi teraz: jak uzyskać wyniki testu do Bitbucket, aby zablokować scalanie, gdy test zakończy się niepowodzeniem?

Znaleźliśmy wtyczkę „Violations to Bitbucket Server”, ale obejmuje ona tylko wyniki statycznej analizy kodu i żadnych raportów jUnit lub surfire.

Cała sprawa wygląda na szkicową ... Czy jest jakiś dobry samouczek, który mówi, jak zintegrować jenkins i bitbucket w obu kierunkach? Czy nie jest to możliwe z dostępnymi wtyczkami?

wutzebaer
źródło

Odpowiedzi:

1

Są tu trzy kawałki:

  • Jak uruchomić budowanie PR? Do tego użyłem Wtyczka „pull request notifier for bitbucket” . Technicznie rzecz biorąc, nie potrzebujesz tego, jeśli używasz wtyczki „Bitbucket Branch Source” (wspomnianej poniżej), ale zapewnia ona dobrą poprawę jakości życia dla użytkowników hostujących Bitbucket Server.

  • Jak Bitbucket wie, kiedy kompilacja Jenkinsa się nie powiodła? Jest tu kilka różnych opcji. Moim zdaniem najlepszym sposobem rozwiązania tego problemu jest oficjalny CloudBees Wtyczka „Bitbucket Branch Source” . Ta wtyczka dba o każdy aspekt konfiguracji, którego potrzebujesz na końcu Jenkinsa (jeśli używasz Bitbucket Cloud, może nawet zadbać o konfigurację na końcu Bitbucket). Wtyczka ta między innymi automatycznie wykrywa repozytoria, gałęzie i żądania ściągania. Raportuje również wyniki testu z powrotem do Bitbucket. Jeśli z jakiegoś powodu nie chcesz korzystać z tej wtyczki, istnieją również inne rozwiązania, które również zadziałały dla mnie, w szczególności Wtyczka „Stash notifier” . Ta wtyczka po prostu zgłasza wyniki testu z powrotem do Bitbucket, nic więcej.

  • Jak uniemożliwić połączenie nieudanych PR? Można to rozwiązać za pomocą ustawień repozytorium w Bitbucket. W szczególności Ustawienia repozytorium & gt; Połącz kontrole & gt; Minimalne udane kompilacje. Jeśli chcesz zastosować to do wszystkich repozytoriów w projekcie zamiast tylko jednego repo na raz, to ustawienie można również dostosować na poziomie projektu za pomocą najnowszych wersji Bitbucket (od 5.5, IIRC - jestem zbyt leniwy, aby spójrz teraz na dzienniki zmian).

jayhendren
źródło