Ich verwende die Kombination mehrerer Plugins - für die grundlegende Zuweisung von Rollen und Berechtigungen verwende ich das Rollenstrategie- Plugin .
Wenn ich eine Rolle in Abhängigkeit von den Parametern aufteilen muss (z. B. kann jeder mit Job-Runner Jobs ausführen, aber nur Benutzer-Benutzer-UUU darf den Bereitstellungsjob für die Bereitstellung auf Maschinen-MMM ausführen), verwende ich das Python-Plugin und definiere eine Python Skript als erster Erstellungsschritt und Ende mit sys.exit (-1), wenn die Ausführung des Jobs mit der angegebenen Kombination von Parametern verboten ist.
Erstellen Sie das User Vars Plugin liefert mir Informationen über den Benutzer, der den Job als Umgebungsvariablen ausführt.
Z.B:
import os
import sys
print os.environ["BUILD_USER"], "deploying to", os.environ["target_host"]
# only some users are allowed to deploy to servers "MMM"
mmm_users = ["UUU"]
if os.environ["target_host"] != "MMM" or os.environ["BUILD_USER"] in mmm_users:
print "access granted"
else:
print "access denied"
sys.exit(-1)