Wie kann ich ändern, das Load Balancing-Verhalten Jenkins verwendet, um Sklaven zu kontrollieren?
Verwenden wir Jenkins für unsere CI-build-system. Wir verwenden auch "concurrent baut", so dass Jenkins bauen jeweils unabhängig voneinander geändert werden können. Das heißt, wir haben oft 5 oder 6 baut der den gleichen job gleichzeitig laufen. Um dies zu berücksichtigen, haben wir 4 slaves mit jeweils 12 Vollzieher.
Das problem ist, dass Jenkins nicht wirklich 'load balance' zu seinen Sklaven. Es versucht zu bauen, einen job auf die gleiche Sklavin, die es zuvor gebaut (vermutlich um die Zeit zu reduzieren, die Synchronisierung von Quell-Kontrolle). Dies ist ein problem, weil Jenkins bauen alle 6 Instanzen unserer bauen auf den gleichen slave (oder eher zwischen 2 slaves). Eine build-Maschine bekommt verzetteln und läuft sehr langsam, während der rest von Ihnen sitzen im Leerlauf.
Gibt es ein plugin oder etwas, das verändert die load-balancing-Verhalten Jenkins verwendet, um die Kontrolle über seine Sklaven?
- Geschlossen off-topic, ist das echt? Es tut mir Leid zu sagen, dass ich nicht oft schreiben diese Arten von Kommentaren, aber -1 auf die mods für das. Die Frage, die eindeutig einem spezifischen problem und fragt nach einer Konfiguration der Lösung.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie nicht finden, ein plugin, das dies automatisch, hier ist eine Idee von dem, was Sie tun können:
${SLAVE}
Fügen Sie einen trigger-job, tun Sie den folgenden:
plugin
durch die Zuweisung geeigneter Wert, um SLAVE parameter.
Zu analysieren, um die Lastverteilung zu installieren, müssen Sie Groovy-plugin und machen Sie sich mit Jenkins Main-Modul-API. Hier sind einige nützliche erste Anzeichen der Besserung.
Waren wir vor einem ähnlichen Problem. Also ich habe ein plugin, dass änderungen der Load-Balancer in Jenkins zu wählen Sie einen Knoten aus, der aktuell die geringste Last - https://wiki.jenkins-ci.org/display/JENKINS/Least+Last+Plugin
Jedes feedback wird sehr geschätzt.
Wenn Ihr bauen Maschinen, die nicht komfortabel mit mehr als 1 bauen, warum so konfigurieren, dass Sie mit 12 treckern? Wenn das tatsächlich der Fall ist, sollten Sie reduzieren die Anzahl der Testamentsvollstrecker zu 1. Meine Jenkins hat 30 slaves, die jeweils mit 1 Vollstrecker.
Nutzen Sie auch die Einschränkung Gleichzeitiger Builds plugin zu beschränken, wie viele Instanzen eines Jobs können parallel auf demselben Knoten
Habe ich zwei Etiketten-eines für die kleinen Aufgaben und einer für große Aufgaben. Ich habe einen Testamentsvollstrecker für die große Aufgabe und 4 für die kleinen Aufgaben. Dies gilt Gleichgewicht die Dinge ein wenig.