jenkins 实现自动化构建(四)

来源:互联网 发布:51单片机有pwm吗 编辑:程序博客网 时间:2024/06/05 22:54

此篇主要说下jenkins的权限管理

jenkins刚开始是没有用户的,之所以能使用jenkins的功能,是因为jenkins启动后会创建了一个匿名用户(Anonymous),你登录jenkins的时候使用的是Anonymous用户

Anonymous用户不需要登录就能进行所有操作。当创建新用户(管理员或者普通用户)的时候,Anonymous自动失效,不再具有之前的修改和更新功能,但保留查看功能。

1 “系统管理”—–“Configure Global Security”

这里写图片描述

保存之后就可以看到右上角出现“登陆|注册”
此时 立即注册一个用户admin
这里写图片描述
此时右上角出现“admin|z注销”

2 授权
第一种: 安全权限授权给admin 用户
“系统管理”——“Configure Global Security”——-取消“允许用户注册”前面的勾
此时右上角出现“登陆”已无“注册”选项了
使用admin 登陆, 点击 “系统管理”——“Configure Global Security”——-“安全矩阵”

这里写图片描述

此时admin 账户已经拥有所有的权限

第二种: 项目权限授权给admin 用户

“系统管理”——“Configure Global Security”——-取消“允许用户注册”前面的勾
此时右上角出现“登陆”已无“注册”选项了
使用admin 登陆, 点击 “系统管理”——“Configure Global Security”——-“项目矩阵授权策略”
这里写图片描述

大多数会使用”项目矩阵授权策略” , 项目矩阵授权策略支持在Job(项目)的配置页面再次配置授权策略。

3 添加用户,并授予read权限

“系统管理”——“管理用户”—–“新建用户”
这里写图片描述
这里写图片描述

对新建用户授予访问特定项目的权限
“系统管理”—— “Configure Global Security”—“项目矩阵授权策略”–
这里写图片描述

4 在config.xml查看权限

开启安全矩阵后在jenkins的工作目录 /opt/jenkins 下有个config.xml 文件

这里写图片描述
这里写图片描述

5 对admin授权失败
在添加了admin用户之后,没有在安全矩阵中对admin进行赋予权限就退出了jenkins,
将出现无访问权限的问题,解决方法就是修改config.xml 文件

 <useSecurity>true</useSecurity>

改为:

 <useSecurity>false</useSecurity>

6 “配置”页面对特定项目授权
刚刚使用新增的普通用户(zhangsan , wangwu 用户只授予Overall 的read权限)登陆之后,可以拥有的权限
这里写图片描述

无法对某个项目完成构成,现在需要对项目授权:
使用admin账户登陆, 点击“项目名称mymavenProject”—-“配置”

这里写图片描述

然后使用普通用户(zhangsan )登陆 , 可以看到普通用户(zhangsan)可以只看到授予权限的项目。
这里写图片描述

各种权限如下(在配置页面将鼠标放到该权限上即可查看帮助):
这里写图片描述

最大的权限是Overall的Administer,拥有该权限可以干任何事情。

最基本的权限是Overall的Read,用户必须赋予阅读的权限,不然什么都看不到。

如果有个用户被赋予了Overall的Read,并没有被赋予Job的Read权限,那么该用户就无法访问job。原因:没有权限。

找到.jenkins/config.xml文件:替换为:1、<authorizationStrategy class="hudson.security.AuthorizationStrategy$Unsecured"/>这个权限对应“任何用户可以做任何事(没有任何限制)”2、<authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy"/>这个权限对应“登录用户可以做任何事”3、<authorizationStrategy class="hudson.security.GlobalMatrixAuthorizationStrategy">    <permission>hudson.model.Hudson.Administer:test</permission>    <permission>hudson.scm.SCM.Tag:test</permission>  </authorizationStrategy>这个权限对应 test用户可以是管理员、打标签权限。
其中:Overall是全局权限,slave是集群权限,job,run,view,scm是业务权限。其中overall中的read要勾选,否则用户登陆后什么也看不到。overall:  Administer:系统管理员权限  read:浏览框架job:  read:查看job  build:执行构建  cancel:取消构建run:  Delete:删除某次构建  Update:编辑某次构建信息SCM:  Tag:为某次构建在svm上打标签。
原创粉丝点击