上线 Jenkins 做自动构建后,随着项目越来越多,Jenkins 中配置的项目越来越多,需要根据不同项目组用户来控制项目的权限,实现 A 用户只能查看自己的项目,只有构建权限和查看权限且不能编辑项目,同理 B 用户也不能看到 A 用户的构建项目。

权限配置

  • 启用用户安全配置,Manage Jenkins → Configure Global Security → Security Realm → Jenkins’ own user database
  • 用户可以自由注册,启用之后在 Jenkins 首页可以看到 Sign-up 入口,团队规模不大(10 人左右)建议不要启用用户自由注册选项,减少用户管理时间成本。管理员可以从后台直接添加用户,从 Jenkins 管理控制台页面 → Manage Jenkins → Manage user,进行添加、修改、删除用户等操作
  • 不同的用户在 Jenkins 中可操作的内容不同,其优势是分权管理,避免误操作带来的麻烦。比如误删任务、误改代码等。常见的权限配置有
  • 管理员:配置 Jenkins , 创建和更新 job,运行 job,查看日志
  • 任务开发:创建和更新 job,运行 job,查看日志
  • 使用者:运行 job, 查看日志
  • 用户操作的权限控制,必须由管理员来完成。Manage Jenkins → Configure Global Security → Authorization → 安全矩阵 | 项目矩阵授权策略

案例说明

使用管理员账号分别创建用户 a,用户 b 。在 b 用户 Read 权限。

jenkins如何设置权限 jenkins用户权限_软件测试

image1080×563 76.6 KB

管理员账号创建 ajob,并在 ajob 中 General 启动用项目安全,赋予用户 a 构建和查看 job 的权限。管理员账号创建 bjob,并在 bjob 中 General 启动用项目安全,赋予用户 b 构建和查看 job 的权限。

jenkins如何设置权限 jenkins用户权限_持续集成_02

image1080×554 86.1 KB

登录用户 a,可以看到 ajob,并可以构建和查看 ajob。没有配置和删除 ajob 的权限。用户 b 同理

jenkins如何设置权限 jenkins用户权限_软件测试_03