7 月 262016
 

参考url:http://zengestudy.blog.51cto.com/1702365/1782494

在Jenkins中,如果你希望不同组的创建的job只对改组内的成员可见,怎么实现呢?正常情况下,每个用户登录Jenkins都能看到所有的JOB,那么如果分组管理JOB呢?

我们可以利用Role-based Authorization Strategy插件实现这一需求。

1、安装Role-based Authorization Strategy插件

wKioL1dD7Kywqns3AALxTUSK9to668.png

2、配置授权策略

系统管理==>Configure Global Security==>访问控制==>授权策略==>选择“Role-Based Strategy”

wKiom1dD7MKDwsdJAAHwRcUJrC8447.png

3、创建用户

我这里创建了4个用户,teamamanager、teamamember、teambmanager、teambmember。

teamamanager为Team A的项目管理人员,teamamember为Team A的开发人员

teambmanager、teambmember分别为Team B的项目管理人员和开发人员。

wKiom1dD72XgKefwAAGoLN4JLjY840.png

3、配置Roles和授权

系统管理>>Manage and Assign Roles>>Manage Roles

wKioL1dD8PfjJrGIAABl69DnrNE103.png

wKiom1dD8AaCEmx7AAEKomWkmdA530.png

wKioL1dD9DLhVXl0AAgfcOTYPB8162.png

返回上一个页面,进入Assign Roles进行配置

wKioL1dD9I6RvyfVAAD5A1lQA6Q179.png

wKioL1dD9bHikeKNAAPtQkJoAks763.png

4、创建项目,登录验证

用admin管理员登录Jenkins,创建几个项目,其中给Team A创建的项目为TeamAAPIService,Team B创建的项目为TeamBUserService。

wKiom1dD9WvjutK_AAHFMR7ws50620.png

登录teamamanager账号,只能看到TeamAAPIService这个job,说明正则表达式过滤生效了

登录teamamember账号,也只能看到这一个job,且没有删除Project的权限

wKiom1dD9k_DyvtrAAFU-LP8S4Y163.png

wKioL1dD90OyX4wfAAGr2ogB0v4029.png

同理Team B的情况一样的。不再截图演示。上面就是权限分别的整个过程和思路,公司有多个组就设置多个组的规则。将来有成员加入或者移除,直接在Assign Roles中添加或者删除,非常方便。

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理

This website stores cookies on your computer. These cookies are used to provide a more personalized experience and to track your whereabouts around our website in compliance with the European General Data Protection Regulation. If you decide to to opt-out of any future tracking, a cookie will be setup in your browser to remember this choice for one year.

Accept or Deny