2017-01-23 48 views
5

Mam wystąpienie Jenkins, który używa mesos plugin. Prawie wszystkie moje prace są uruchamiane za pomocą zadań Mesos. Chciałbym, aby generowanie pracowników było nieco bardziej agresywne.Czy można sprawić, by Jenkins szybciej tworzył pracowników z dołączonych chmur?

Obecny problem polega na tym, że w przypadku wtyczki mesos mam wszystkie zadania zaznaczające zadania mesos jako jednorazowe niewolniki użycia, a gdy trwa budowanie na jednym z tych niewolników, Jenkins zmusza do czekania jakichkolwiek oczekujących w kolejce zadań dla potencjalnego egzekutora tych niewolników, w przeciwieństwie do kręcenia nowych instancji.

Na podstawie dzienników wygląda na to, że Jenkins ma zegar, który okresowo sprawdza, czy niewolniki powinny być odwirowane w oparciu o liczbę oczekujących zadań/nadmiarowego obciążenia. Czy można zmniejszyć interwał sondowania dla tego procesu?

Odpowiedz

2

Od Mesos Jenkins Plugin Readme: over provisioning flags

Domyślnie Jenkins ikra niewolników zachowawczo. Powiedzmy, że jeśli w kolejce są 2 kompilacje, nie od razu odrodzi się 2 executory. Spowoduje to odrodzenie jednego executora i odczeka chwilę, zanim pierwszy executor zostanie uwolniony przed podjęciem decyzji o odrodzeniu drugiego executora. Jenkins upewnia się, że każdy testator, który się spawnuje, jest wykorzystywany do maksimum. Jeśli chcesz to zmienić i tarło o wykonawcę dla każdej kompilacji w kolejce od razu, nie czekając, można użyć tych flag podczas uruchamiania Jenkins:

-Dhudson.slaves.NodeProvisioner.MARGIN=50 -Dhudson.slaves.NodeProvisioner.MARGIN0=0.85