image.png

上一篇,我们介绍了Jenkins的部署,如果你还没有看,可以点击这里。那么我们部署完jenkins还需要哪些配置呢?比如我们有多个环境,开发,测试,预生产,生产。开发的同事,可以部署开发环境,测试的同事可以部署测试环境,运维的同事可以部署预生产和生产环境。同时,还有多个项目组,我应该如何有效的管理这些场景呢?

这里我们要介绍两部分内容,多项目管理,和多用户管理

我们怎样来进行多项目管理呢?

首先,要介绍的是视图

我们可以通过右边侧边栏进行创建

image.png

或者直接点击这里的加号

image.png

可以根据项目的名称和环境,对视图进行命名

image.png

这里有三种模式

  • 多任务视图(MultiJob View): 多任务视图,你无法添加原来创建的任务

image.png

  • 列表视图(List View): 列表视图,可以添加原来已经创建的任务

image.png

  • 我的视图(My View): 如果选择这个,创建的视图会把,这个账号所有可以显示的视图全部添加进去

我们点击创建的视图,也可以从右边侧边栏去编辑或者删除视图 image.png

这样创建好视图以后,我们可以在新建各环境任务的时候,将它放入各个视图,比如我要在项目A-test环境创建一个任务的时候可以选中项目A。然后点击右侧侧边栏的新建任务,取一个名字A-web-test,在,下方创建任务的旁边,你会发现一个选项,添加到当前视图,如下图:

image.png

勾选添加到当前视图,创建成功后,你会发现,这个视图中就有了个这个任务 image.png

我们怎样来进行多用户管理呢?

我们要做的,就是把不同的视图,分配给不同的项目,不同角色的同事。 这里我们要借助的是一个插件Role-based Authorization Strategy,你可以在插件管理,可选插件中搜索到它

image.png

点击安装,重启一下jenkins服务,他就装好了,要开启这个服务,我们还需要配置一下。在系统管理,全局安全配置中,授权策略,会有一个选项Role-Based Strategy,具体如下图

image.png

勾选这个选项,点击保存。我们就会在系统管理中找到Manage and Assign Roles的功能选项,具体如下图

image.png

点击后,我们就会发现,有三个功能选项

image.png

首先,可以从,系统管理,管理用户中,新建一个用户

image.pngimage

image.pngimage

我们就有了这样一个账户,我们回到Manage and Assign Roles中,管理角色功能。添加一个pipiline的角色

image.pngimage

可以根据需求给到权限,注意,这里全局的read权限是一定要给的

然后我们配置Item roles

image.pngimage

点击确定,然后根据需求,给出权限

image.pngimage

最后点击保存退出,然后,我们来到 Assign Roles功能给账户角色。这里一定要注意,Item匹配的权限并不是视图的名字,而是视图下面任务的名字,所以为了易于管理,你在创建视图和任务的时候,用如下的格式进行命名,视图为project01-test,那么任务可以命名为project01-web-testproject01-admin-test等等。这样在这里的权限就是可以匹配project01.*test

然后添加账户,勾选,我们刚才创建的账户,在Item role中 添加我们刚才创建的账户

image.pngimage

勾选。最后保存

然后我们来登录一下我们新创建的账号

image.pngimage

这边就已经有了个这个权限。下面我再梳理一下整个流程

首先我们要创建一个角色,然后配置项目角色,然后创建用户,最后给账户权限。这里一定要注意Item的匹配规则。

当然,Jenkins还有其他的用户管理方式,比如和ldap系统集成,GitLab单点登录等等。这个会后面,集成服务中心介绍。如果你还有什么问题,或者建议,可以给我留言,或者关注我的公众号 小圆和他的朋友们。