Jenkins 权限配置管理-github用户权限管理

写在前面的话

背景:

在一个企业研发部门内部,可能存在多个运维人员,而这些运维人员往往负责不同的项目,但是有可能他们用的又是同一个 Jenkins 的不同用户。那么我们就希望实现一个需求,能够不同的用户登录 Jenkins 以后看到不同的项目。

Jenkins 提供了简单的权限管理,我们可以在 系统管理 --> 全局安全配置 看到:

 

但是这里的权限配置太过简略,显然无法满足我们复制的需求,所以在这个时候引入了 Jenkins 的一个插件:Role-based Authorization Strategy

2.安装插件

2.1插件:Role-based Authorization Strategy

打开插件中心,我们可以搜索:

 重启 Jenkins 以后,再度打开:系统管理 --> 全局安全配置 会发现多了我们刚刚插件的选项:

 

我们选择该配置,同时在 系统管理 中出现了新的选项:

 

 2.2 安装插件:Github OAuth plugin

在jenkins的插件管理中,查询Github OAuth plugin插件,然后安装它。

 但是我发现有的jenkins版本比较高的话,可能安装好jenkins时 就自带了2.1步 和 2.2步 中安装的这2个插件。

2.3打开github,创建一个OAuth App

 

 

 点击New OAuth App,然后添加数据:

 其中,

Homepage URL: 添加一个仓库所归属的 organization 链接地址。

Authorization callback URL :${jenkins链接}/securityRealm/finishLogin

Client ID 和Client Serect 等会会在Jenkins配置中用到。

 ps:  organization 链接地址 不知道的 可以见如下:

 

 2.4.配置Jenkins,打开Configure Global Security 页面

勾选 Enable security --> 勾选Github Authentication Plugin,配置如下图:

 其中,

GitHub Web URL : 你的gitHub服务的url地址

GitHub API URL : Http:{你的gitHub服务的url地址}/api/v3

Client ID 和Client Serect是第2.3步 GitHub上生成的。

 

然后配置Authorization,这里我选的是Project-based Matrix Authorization Strategy,可以直接输入GitHub用户名来分配不同的权限。

 

 好了,大功完成了!

没有谁是一口气吃撑胖子的,学习也是如此,慢慢学习,只要在进步就是好的!~

 

posted @ 2024-04-25 23:19  苹果芒  阅读(62)  评论(0编辑  收藏  举报