有没有一种方法可以限制用户仅查看詹金斯中的某些作业。
Jenkins允许通过“基于项目的矩阵授权策略”来限制每个项目的用户能力。问题在于,如果没有“总体”“读取”设置,用户将无法访问任何内容。这似乎使他们可以查看所有作业。
是否有另一个允许工作限制的插件?
有没有一种方法可以限制用户仅查看詹金斯中的某些作业。
Jenkins允许通过“基于项目的矩阵授权策略”来限制每个项目的用户能力。问题在于,如果没有“总体”“读取”设置,用户将无法访问任何内容。这似乎使他们可以查看所有作业。
是否有另一个允许工作限制的插件?
Answers:
认为这就是您要搜索的内容:允许用户访问特定项目
没有屏幕截图的简短说明:
使用Jenkins“管理Jenkins” =>“配置系统”下的“基于项目的矩阵授权策略”。现在,在每个项目的配置页面上,您将具有“启用基于项目的安全性”。现在添加您要授权的每个用户。
只有一个插件可以帮助我:基于角色的策略:
wiki.jenkins-ci.org/display/JENKINS/Role+Strategy+Plugin
但是官方文档(wiki.jenkins-ci.org/display/JENKINS/Role+Strategy+Plugin)不足。
以下配置对我有用:
基本上,您只需要创建角色并使用正则表达式将它们与工作名称匹配。
Step 9. Add Project Roles based on each project.
我使用几种插件的组合-对于角色和权限的基本分配,我使用“角色策略插件”。
当我需要根据参数分配某些角色时(例如,每个有工作运行者的人都可以运行工作,但是只允许用户UUU用户运行部署作业以在计算机MMM上进行部署),我使用Python插件并定义了一个python脚本作为第一个构建步骤,并在禁止使用给定的参数组合运行作业时以sys.exit(-1)结尾。
Build User Vars插件为我提供了有关用户作为环境变量执行作业的信息。
例如:
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)
您可以安装“扩展读取权限”插件。然后,在“全局设置”或单个作业配置中,可以授予用户“扩展读取”权限。