Jak mogę zmodyfikować zachowanie równoważenia obciążenia, którego Jenkins używa do sterowania urządzeniami podrzędnymi?

Używamy Jenkins do naszego systemu budowania CI. Używamy również „współbieżnych kompilacji”, aby Jenkins budował każdą zmianę niezależnie. Oznacza to, że często mamy 5 lub 6 kompilacji tego samego zadania uruchomionych jednocześnie. Aby to uwzględnić, mamy 4 slave'y, każdy z 12 executorami.

Problem polega na tym, że Jenkins tak naprawdę nie „równoważy obciążenia” wśród swoich niewolników. Próbuje zbudować zadanie na tym samym urządzeniu podrzędnym, które wcześniej zbudowało (prawdopodobnie w celu skrócenia czasu synchronizacji z kontrolą źródła). Jest to problem, ponieważ Jenkins zbuduje wszystkie 6 instancji naszej kompilacji na tym samym urządzeniu podrzędnym (lub bardziej prawdopodobne między 2 urządzeniami podrzędnymi). Jedna maszyna budująca zostaje ugrzęzła i działa bardzo powoli, podczas gdy reszta siedzi bezczynnie.

Czy istnieje wtyczka lub coś, co zmienia zachowanie równoważenia obciążenia Jenkins używa do kontrolowania swoich urządzeń podrzędnych?

questionAnswers(4)

yourAnswerToTheQuestion