「Jenkins」- 授予用户可以访问的项目

  CREATED BY JENKINSBOT

问题描述

我们希望将构建权限赋予开发人员(或项目组负责人),这需要以项目为粒度进行分配(即赋予用户某个项目或某些项目)。

将构建权限赋予开发人员,而运维人员则为开发人员提供好用的工具。

解决办法

插件名称:Role Strategy Plugin

第一步、创建用户

可以使用现有用户,或者创建用户:Manage Jenkins => Manage Users => Create User

第二步、创建角色

创建 Global roles 角色,因为用户需要访问页面的权限:
1)Manage Jenkins => Manage and Assign Roles => Manage Roles => Global roles
2)在 Global roles 中:在 Role to add 中创建角色,然后勾选 Overall/Read 权限;

创建 Project roles 角色,控制可以访问的页面:
1)Manage Jenkins => Manage and Assign Roles => Manage Roles => Project roles
2)在 Project roles 中:在 Role to add 中创建角色;在 Pattern 中设置角色可见的项目;,然后保存即可。

第三步、分配角色

分配 Global roles 权限给用户,使用户可以访问页面:
1)Manage Jenkins => Manage and Assign Roles => Assign Roles => Global roles
2)在 Global roles 中:在 User/group to add 中添加用户,然后勾选要赋予其的角色,保存即可。

分配 Item roles 权限给用户,使用户可以访问特定项目:
1)Manage Jenkins => Manage and Assign Roles => Assign Roles => Item roles
2)在 Item roles 中:在 User/group to add 中添加用户,然后勾选要赋予其的角色,保存即可。

附加说明(常见问题)

在 Assign Roles 中,修改用户权限之后(并保存),用户权限不会更新。需要到 Manage Roles 中保存(无需任何操作),然后用户权限才会更新。

参考文献

Jenkins restrict view of jobs per user