Jenkins & Linux自动化测试Linux学习之路

Jenkins自动化部署-权限管控篇 (六)

2017-11-24  本文已影响101人  1204号技师

随着产品线不断扩大, 工程也越来越多, 几乎每个项目在一个环境上会有两个以上的工程, 后期上百个工程, 而且一个账号可以构建、删除、修改所有的工程。 这种情况下会经常发生误删、误改、误构建的事件,进行权限管控能够大量杜绝这样的事件发生
本例子是当前最新的版本 V2.91, 版本越高功能越完善, 建议使用最新版本部署, 低版本视图功能不完善, 在首页可以看到所有项目的工程, 项目一多就很慢

权限管控插件: Role-based Authorization Strategy

全局角色粒度太大,一定要分配置一个Read 权限, 否则无法登陆
job_create: 可以创建工程并且可以对视图进行操作
job_role: 可以对视图进行操作
权限类型:
Overall: 全局
Credentials: 凭证
View: 视图
Job: 任务

image.png

Role to add: 角色名称
Pattern: 正则表达式, 权限控制范围

image.png
jenkins-demo-devel-role: jenkins-demo-.*(dev|sit|uat)
jenkins-demo-test-role: jenkins-demo-.*(dev|sit|uat)
jenkins-demo-oper-role: jenkins-demo-.*

JOB(工程)主要权限
Build: 构建
Cancel: 取消构建
Configure: 配置
Delete: 删除
Read: 浏览
Workspace: 工作空间

image.png image.png image.png

My Views 里面创建的视图只有当前账户可以看得到, 而首页里新建的视图所有账户都可以看到, 一但项目多起来将毫无意义, 非常的混乱

image.png

我的视图: 只能显示当前账号有权限的工程
简单视图: 可以选择当前账号显示的工程

image.png image.png
  <role name="admin" pattern=".*">
        <permissions>
          <permission>hudson.model.View.Delete</permission>
          <permission>hudson.model.Computer.Connect</permission>
          <permission>hudson.model.Run.Delete</permission>
          <permission>com.cloudbees.plugins.credentials.CredentialsProvider.ManageDomains</permission>
          <permission>hudson.model.Computer.Create</permission>
          <permission>hudson.model.View.Configure</permission>
          <permission>hudson.model.Computer.Build</permission>
          <permission>hudson.model.Item.Configure</permission>
          <permission>hudson.model.Hudson.Administer</permission>
          <permission>hudson.model.Item.Cancel</permission>
          <permission>hudson.model.Item.Read</permission>
          <permission>com.cloudbees.plugins.credentials.CredentialsProvider.View</permission>
          <permission>hudson.model.Computer.Delete</permission>
          <permission>hudson.model.Item.Build</permission>
          <permission>hudson.scm.SCM.Tag</permission>
          <permission>hudson.model.Item.Move</permission>
          <permission>hudson.model.Item.Discover</permission>
          <permission>hudson.model.Hudson.Read</permission>
          <permission>com.cloudbees.plugins.credentials.CredentialsProvider.Update</permission>
          <permission>hudson.model.Item.Create</permission>
          <permission>hudson.model.Item.Workspace</permission>
          <permission>com.cloudbees.plugins.credentials.CredentialsProvider.Delete</permission>
          <permission>hudson.model.Computer.Provision</permission>
          <permission>hudson.model.Run.Replay</permission>
          <permission>hudson.model.View.Read</permission>
          <permission>hudson.model.View.Create</permission>
          <permission>hudson.model.Item.Delete</permission>
          <permission>hudson.model.Computer.Configure</permission>
          <permission>com.cloudbees.plugins.credentials.CredentialsProvider.Create</permission>
          <permission>hudson.model.Computer.Disconnect</permission>
          <permission>hudson.model.Run.Update</permission>
        </permissions>
        <assignedSIDs>
          <sid>admin</sid>
        </assignedSIDs>
      </role>
上一篇 下一篇

猜你喜欢

热点阅读