O ile mi wiadomo, nie jest to możliwe bez zmiany kodu Jenkinsa, ale myślę, że można osiągnąć ten sam cel przy minimalnej konserwacji przy użyciu build slaves. Różne wersje mogą działać jednocześnie na niewolnikach, a nawet na tym samym niewolniku, jeśli zdefiniuj wiele executorów (jeśli maszyna slave ma> 1 CPU). Możesz oznaczać niewolnikami, aby kontrolować, które zadania zostaną wykonane na każdym z nich, abyś mógł mieć oddzielny zestaw urządzeń podrzędnych dla każdego z twoich potoków.
Niezależnie od tego, czy podstawowe urządzenia podległe działają nadal, dodatkowe koszty związane z uruchamianiem niewolnika są minimalne. Możesz użyć procesu na wzorcu, aby zachować plik JAR Slave i potrzebne narzędzia do kompilacji; w moim sklepie używamy prostego skryptu rsync, który uruchamia się za każdym razem, gdy master lub slave jest restartowany w celu skopiowania najnowszych narzędzi z mastera do slave'a i restartowania procesu slave.
Takie podejście zmniejsza także stopień, w jakim mistrz Jenkinsa jest pojedynczym punktem awarii.
Nie. Proszę o możliwość posiadania wielu * kolejek *. Mogę zwiększyć liczbę współbieżnych zadań w kolejce. –
Czy możesz wyjaśnić, dlaczego potrzebujesz wielu kolejek? –
Mam wiele projektów. Każdy projekt ma własny potok. Każdy projekt może być budowany równolegle z innymi, do pewnego limitu X - np. Ograniczony licencjami na zestawy narzędzi. Kompilację można uruchomić lokalnie (rzadko) lub zdalnie (często). Idealnie Jenkins nie zostanie zainstalowany na każdej maszynie (koszt administratora jest bardzo wysoki) - jest centralny dyspozytor wysyłający komendy do zdalnych kompilatorów. –