需求:
jenkins控制台根据应用环境而创建视图,如创建dev/test/uat/prod的视图,每个视图内根据项目创建不同的任务。默认情况下jenkins没有账号权限管理。你创建的jenkins用户登录jenkins可以看到所有视图对应的所有任务而进行创建、删除、配置、构建等。如果为开发人员创建了jenkins账号登录控制台误操作发布了生产环境的任务则尴尬了,因此想到了权限控制操作,针对不通的用户对不同的任务配置不同的权限就好了。
操作:
1、系统管理-->管理用户-->新建用户
2、需求需要Role-based Authorization Strategy插件实现,插件管理进行安装该插件;
3、插件安装完之后:系统管理-->全局安装配置-->授权策略---->可以看到“Role-Based Strategy”
4、插件安装之后:系统管理-->会出现“Manage and Assign Roles ”点击进去可以看到如下:
首先大致介绍下配置流程。Manage Roles里面可以针对全局或项目配置策略权限,然后Assign Roles可以增加用户名勾选相应的策略权限名而授权。
(1)我这里先创建一个全局策略名如globalrole-wangxuegang,权限是全部可读,然后创建一个项目策略名projectrole-wangxuegang,Pattern根据jenkins创建任务名的正则表达式匹配授权的。我的测试环境的所有任务名都是以test-docker开头,因此这里写test-docker.*
对应的权限是Build Cancel Read ,配置完成,进入Assign Roles增加用户勾选策略权限而授权。
说明:先配置一个大权限 如全局策略都可以读,否则jenkins界面任何不显示。然后再通过项目权限对任务配置权限。
(2)进入Assign Roles 增加一个用户分配全局权限,增加一个用户分配项目权限。