写在前面的话
背景:
在一个企业研发部门内部,可能存在多个运维人员,而这些运维人员往往负责不同的项目,但是有可能他们用的又是同一个 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用户名来分配不同的权限。
好了,大功完成了!
没有谁是一口气吃撑胖子的,学习也是如此,慢慢学习,只要在进步就是好的!~
标签:插件,github,URL,配置管理,GitHub,Jenkins,权限,Authorization From: https://www.cnblogs.com/pingguomang/p/18158802