1.权限控制简介
随着公司开发项目越来越多,需要Jenkins构建的项目越来越多,我们需要对不同项目组用户实行项目的权限配置,如A用户只能查看自己的项目,只有构建权限和查看权限且不能编辑项目;同理,B用户也不能看到A用户的构建项目。
2.权限配置
通过权限配置,可以实现用户自由注册、角色管理等功能。为了实现Jenkins用户账号的权限管控,我们需要先启用用户权限配置。
(1)进入Jenkins的权限管控页面,首先点击页面左上角的“Dashboard” 项,然后选择“Manage Jenkins”项,再选择“Configure Global Security”项,进入“Configure Global Security”页面,在这个页面上选中右侧展示页里“Security Realm” 项下的 “ Jenkins `own user database” 项。
(2)启动用户权限配置之后,在Jenkins首页我们可以看到Sign-up(注册)入口,用户通过入口可以注册。管理员进入用户管理首页后,可进行添加、修改、删除用户等操作。
(3)不同权限的用户在Jenkins中可操作的内容不同,这可避免误操作带来的麻烦。例如,误删任务、误该代码等。常见的用户权限配置如下。
管理员:配置Jenkins,创建和更新job,运行job,查看日志。
任务开发人员:创建和更新job,运行job,查看日志。
用户的权限必须由管理员来分配。
3.案例说明
使用管理员账号分被创建用户a和用户b。二者都有Read权限,如图8-9所示。
管理员创建用户a的job,并在用户a的job中的General里使用 “启用项目安全”,赋予用户a构建和查看job的权限。管理员创建用户b的job,并在用户b的job中的General里使用 “启用项目安全” ,赋予用户b构建和查看job的权限,如图8-10所示。
用户a登录之后,可以在页面上看到用户a的所有jo,点击进某个job(如ajob)详细页面,可以查看ajob的详细信息。因为没有配置ajob的配置和删除权限,所以用户a无法对ajob进行配置和删除操作,如图8-11所示。