jenkins_3

 

十、权限配置

由于jenkins默认的权限管理体系不支持用户组或角色的配置,因此需要安装第三发插件来支持角色的配置,我们使用Role-based Authorization Strategy 插件,安装请参考前面插件管理章节。

1、启用插件

插件安装后,我们先启用该插件管理Jenkins权限。

2、创建用户

我们新建一个test用户:

 

 

3、创建角色

 

 

 

 

Jenkins用户都有两种角色:全局角色和Job角色,我们先创建全局角色test

 

然后赋予test角色全局读的功能。

再创建Job角色test,并赋予Job只读权限

 

 

Pattern:用于匹配Job名称。

4、用户授权

 

 

在全局角色下添加我们的test用户,并赋予该用户我们刚才创建的全局test角色。

 

保存后,我们使用test用户登录:

 

我们只有查看的权限,而且看不到任何Job信息。接着我们再赋予test用户Job角色下的test角色:

 

再次使用test用户登录,我们发现匹配到的my-freestyle-job 出现了,并且我们只能查看该Job的信息。

 

 

我们赋予Job rolestest角色 构建权限后,再次登录,发现我们可以构建Job

 

十一、Jenkins集群配置

Jenkins支持分布式部署,我们可以为Jenkins配置多个slave,在构建的时候将任务分派到slave上,从而减轻Jennins Master的负载。

1、添加Jenkins从节点

  

 

 

 

 

注:如果slave节点不能启动,可能需要在从节点上安装jdk,如果要在从节点上执行maven构建,还需要在从节点上安装maven。使用同样的方便添加node2-192.168.56.12

2、分派Job到节点

我们配置frontend-job,在通用部分:

 

构建完成后,我们可以看到本此构建是在node1上执行的:

 

 

注:我们可以多个slave配置同一个标签,系统随机将任务调派到不同的节点。也可以做到高可用,避免一个slave宕机,整个构建不能执行。

3、参数化构建选择节点

此功能需要我们安装Node and Label parameter plugin ,插件安装过程请参考插件管理部分内容。

插件安装成功后,我们配置frontend-job,勾选参数化构建添加Node

 

我们发现构建失败,查看输出,发现失败的原因是node2:192.168.56.12不能从Gitlab上拉取代码,因为我们没有配置node2访问gitlabSSH Key

 

配置完成后,我们继续执行构建:

 

 

 

 

同样构建失败,再次查看详细信息,发现失败的原因是我们没有做node2:192.168.56.12192.168.56.11我的免密登录,执行发布命令失败。

  

配置后,执行构建,发现成功:

 

posted @ 2018-12-14 16:13  慕沁  阅读(155)  评论(0)    收藏  举报