我有一个Jenkins设置,有主节点和从节点,我使用Role Strategy Plugin来管理用户的授权。我的目标是只允许特定的用户在特定的节点上构建。
我有一个 dev 全局角色,它提供总体读取权限和作业读取权限;我有一个 dev 项目角色,它提供对作业的所有权限(在dev文件夹中);还有一个 dev 从属角色,它提供对代理(=从属)的构建权限,代理的名称遵循**dev(.*)**模式。总结如下:x1c 0d1xx 1c 1d 1x
当我将一个用户分配给这三个角色时,该用户可以在所有节点上构建作业,如 * dev 01 * 和 * prod 01 *。这是一个问题,因为我不希望我的开发用户在生产从机上构建作业。从用户中删除从机角色似乎也有类似的效果。
然后,我尝试从项目角色中删除作业构建权限,但我的用户根本无法构建任何作业。
任何想法如何实现我的目标使用这个插件?我知道我可以使用另一个插件,如Job Restrictions Plugin,但我想保持配置在一个地方与基于角色的策略,因为它似乎支持这一点.
1条答案
按热度按时间bvk5enib1#
role-strategy插件不提供将某些项目限制为一组从属的功能。我们开发了一个内部插件来处理role-strategy之上的问题-如果Job Restrictions插件符合您的需求,那么就使用它。
另一个选择是Folder Plus插件,但这是商业CloudBees Jenkins解决方案的一部分。通过它,您可以将作业文件夹限制为特定的从属文件夹。
根据您的设置,完全避免角色策略插件可能是明智的,因为它在更大的环境中是does not scale well的。由专门的Jenkins master分隔团队可能在开始时看起来很尴尬,但扩展良好,有助于避免以后的许多问题。