Mehrere Jenkins-Meister mit einer Gemeinsamen Slave-pool
Ich versuche zu skalieren Jenkins für eine große Organisation. Gibt es eine Möglichkeit, mehrere Jenkins-Mastern teilen sich ein slave-pool? Zum Beispiel, wenn ich 200 Jenkins Meister und ich will, dass Sie teilen den gleichen Satz von 50 Linux-Sklaven.
Ist, vorausgesetzt, jeder slave hat nur 1 Testamentsvollstrecker, wenn der Master Ein Befehl wird ein Auftrag an den slave pool und es läuft auf Slave 1, wenn Master B-Befehl wird ein Auftrag an den slave pool, es würde versuchen zu laufen, auf einem der anderen Sklaven, da die Slave 1 ist schon belegt.
Ich kenne mehrere Meister teilen konnte ein Einzel-slave-wenn ich konfiguriert den slave zu haben, einen neuen Arbeitsbereich und Testamentsvollstrecker für jeden master. Ich möchte jedoch in der Lage sein, den slave auf einmal, anstatt eine slave.jar läuft auf dem slave für jeden master.
Cloudbees Op-Center wird um diese Funktionalität zu bieten, sondern suchen einen Weg, dies zu tun mit der Open-Source-version. Wenn nicht, wie schwer glaubst du, es wäre eine Verlängerung von Jenkins haben diese Funktionalität? Ich habe die Entwicklung mit Java Erfahrung und habe getan, ein wenig Arbeit mit Jenkins plugin development.
Dank,
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als Sie festgestellt haben, es ist nicht schwer zu teilen Sklaven zwischen Meister, einfach setup mehrere Arbeitsbereiche und die einzelnen master-installieren Sie es auf eigene slave-Glas. Der trick ist, Ressourcen zu teilen, richtig.
Eine solche Ressource manager ist Apache Sofort. Ein Jenkins plugin Sofort vorhanden ist, ermöglicht die Erstellung von Sklaven auf einem verwalteten cluster.
Dieser Ansatz ist sehr neu und Ebay haben gebloggt, wie Sie sich entwickelt haben, Ihre Jenkins-Installation mit Sofort:
Hoffe, das hilft.
Es ist ein Gearman-Plugin, entwickelt von Open-Stack-zu-Griff-sharing-Sklaven, die von mehreren meistern.
Wenn es nach mir ginge, würde ich alle Meister mit ein cloud-plugin für Sklaven. Zum Beispiel, können Sie installieren die kubernetes-plugin oder die nomad-plugin und schließen Sie alle Meister, die bis zu der gleichen kubernetes oder nomad-cluster. Nomad oder Kubernetes aufpassen würde, Ressource management, und der Meister würde nur das senden von Aufträgen an einen gemeinsam genutzten pool von Ressourcen. Dieses Konzept kann leicht auf andere cloud-Anbietern wie AWS, aber IMHO, wenn Sie nur wollen, um die Einrichtung einer on-prem pool der Ressourcen für Ihre jenkins-Mastern aus dem nichts, nomad ist die einfachste option.