6

Mam kilka projektów skonfigurowanych w Jenkins, które mają zależności od siebie (używając opcji "kompiluj po"). Teraz chcę, aby każdy projekt oczekiwał na zakończenie wszystkich zależności, zanim zaczną budować.Jenkins: Poczekaj na zakończenie wielu zależności projektu przed zbudowaniem

przykład:

Project: A 
Project: B - Depencies: A 
Project: C - Depencies: A, B 

Kiedy zbudować, a następnie buduje, B i C będą uruchamiane. Jednak chcę C tylko budować po zakończeniu A i B. Zamiast tego, w tej chwili projekt C będzie budował dwa razy:, jeden raz po zakończeniu A i drugi raz po zakończeniu B.

Jak skonfigurować zależności projektu Jenkin w taki sposób, że mogę to zrobić?

Ps.

Zanim ktokolwiek wspomina o wtyczce Join: przyjrzałem się temu i nie mogę powiedzieć, że jest to satysfakcjonujące rozwiązanie.

+0

Jest to problem, który ma rozwiązać Maven (i podobne technologie, takie jak Ant bluszcz). Każda kompilacja jest niezależna od siebie poprzez użycie wspólnego repozytorium wbudowanych artefaktów. Buduj takie serwery, jak Jenkins, są w stanie określić kolejność kompilacji i automatycznie uruchamiać kompilacje niższego rzędu, które zależą od najnowszego artefaktu konkretnej kompilacji. Nie jest to prosta odpowiedź, ale coś do rozważenia, w przeciwnym razie utkniesz z wtyczką Join :-( –

+0

Nie, jedynym sposobem rozwiązania tego problemu przy użyciu Maven będzie wykonanie wszystkich submodułów jednego projektu. Jenkins nie rozwiąże absolutnej kolejności kompilacji. Jeśli skonfigurujesz Jenkinsa do uruchomienia przez kompilację najnowszego artefaktu, problem, który opisałem, nadal będzie występować – dstibbe

+0

Sprawdź dokumentację Maven Zobacz "Automatyczne budowanie połączeń .." sekcja dokumentu Jenkinsa: https://wiki.jenkins-ci.org/display/JENKINS/Building+a+maven2+project Bardzo przydatne, gdy projekty deweloperskie wykorzystują migawki innych projektów, bez tej funkcji, użycie Migawki Mavena są bardzo wątpliwe, duży plus za używanie Jenkinsa –

Odpowiedz

Powiązane problemy