2016-07-07 11 views
0

Ich habe ein Jenkins-Setup mit Master und Slaves, und ich verwende die Role Strategy Plugin, um Berechtigungen für meine Benutzer zu verwalten. Mein Ziel ist es, nur bestimmten Benutzern den Aufbau spezifischer Knoten zu ermöglichen.Jenkins Rollenbasierte Strategie für Agent-Builds

Ich habe eine dev globale Rolle Erlaubnis Gesamt lesen geben und Job-Leseerlaubnis, ich habe eine dev Projektrolle, die alle Berechtigungen für Jobs (im dev-Ordnern) und eine dev Slave-Rolle gibt, dass erteilt Build-Berechtigungen für Agenten (= Slaves) mit Namen, die dem Muster dev (. *) folgen. Fassen wir zusammen: Project role Slave role

Wenn ich einen Benutzer auf die drei Rollen zuweisen, kann der Benutzer bauen Arbeitsplätze auf allen Knoten, wie BM01 und PROD01. Dies ist ein Problem, da meine Entwickler nicht auf Produktionsslaves aufbauen sollen. Das Entfernen der Slave-Rolle vom Benutzer scheint ähnliche Auswirkungen zu haben.

Ich versuchte dann, die Baugenehmigung von der Projektrolle zu entfernen, aber dann kann mein Benutzer überhaupt keinen Job erstellen.

Eine Idee, wie Sie mein Ziel mit diesem Plugin erreichen? Ich weiß, dass ich ein anderes Plugin wie das Job Restrictions Plugin verwenden kann, aber ich möchte die Konfiguration mit rollenbasierter Strategie an einem Ort behalten, da es dies zu unterstützen scheint.

Antwort

0

Das Rollenstrategie-Plugin bietet nicht die Funktionalität, bestimmte Projekte auf eine Gruppe von Slaves zu beschränken. Wir haben ein hausinternes Plugin entwickelt, das zusätzlich zur Rollenstrategie funktioniert. Wenn das Job Restrictions Plugin auf Ihre Bedürfnisse zugeschnitten ist, verwenden Sie es einfach.

Eine andere Option ist das Folder Plus-Plugin, aber das ist Teil der kommerziellen CloudBees Jenkins-Lösung. Damit können Sie Ordner von Jobs auf bestimmte Slaves einschränken.

Je nach Einstellung kann es ratsam sein, das Rollenstrategie-Plugin vollständig zu meiden, da es in größeren Umgebungen does not scale well ist. Die Trennung von Teams durch engagierte Jenkins-Meister mag am Anfang etwas peinlich sein, skaliert aber gut und hilft später viele Probleme zu vermeiden.