介绍新的文件夹授权插件

在我的代码项目的谷歌暑期期间,我创建了全新的文件夹验证插件,可轻松管理文件夹插件对文件夹中组织的项目的权限。这个新插件旨在通过易于管理的角色进行快速权限检查。该插件的1.0版本刚刚发布,可以从您的詹金斯必威国际有限公司更新中心下载。

该插件的灵感来自角色策略插件,可改善性能并简化角色管理,开发该插件是为了解决角色策略插件在许多角色上的性能限制。同时,该插件通过文件夹解决了詹必威国际有限公司金斯中组织项目最受欢迎的方式之一。该插件还具有一个新的用户界面,将来会有更多改进。

该插件支持三种类型的角色,分别适用于詹必威国际有限公司金斯中的不同位置*全局角色:适用于詹金斯的所有地方*代理角色:限制连接到您的实例的多个代理的权限*文件夹角色:适用于文件夹内组织的多个作业

文件夹-AUTH

角色策略插件的性能改进

与角色策略插件不同,此插件不使用正则表达式来查找匹配的项目和代理,从而改善了我们的性能并简化了管理员的工作。为了减少需要管理的角色数量,通过文件夹角色授予文件夹的权限将继承其所有子项。这对于通过单个角色访问多个项目很有用。同样,一个代理角色可以应用于多个代理,并分配给多个用户。

此插件的设计目的是在权限检查方面优于角色策略插件。这些改进是使用我在GSOC项目的第一阶段创建的微基准测试框架来衡量的。两个插件相同配置的基准测试表明,与角色策略2.13中的全局角色相比,500个全局角色的权限检查速度提高了934倍,角色策略2.13本身包含一些性能改进。将文件夹角色与角色策略的项目角色进行比较,对于250个组织在150个用户的实例上的两级深层文件夹中的项目,对作业的访问权限检查几乎快了15倍。您可以在此处看到基准和结果比较。

必威国际有限公司詹金斯配置作为代码支持

该插件支持詹必威国际有限公司金斯的“代码即配置”功能,因此您无需通过网页UI即可配置权限.YAML配置如下所示:

必威国际有限公司詹金斯:authorizationStrategy:folderBased:globalRoles: - 名称: “管理员” 权限: -  ID: “hudson.model.Hudson.Administer” #... SIDS: -  “管理”  - 名称: “读取” 权限: -  ID:“hudson.model.Hudson.Read”小岛屿发展中国家: -  “USER1” folderRoles: - 文件夹: -  “根” 的名字: “的viewRoot” 权限: -  ID: “hudson.model.Item.Read” 小岛屿发展中国家: -  “USER1” agentRoles:- 代理商 -  “AGENT1” 名称: “agentRole1” 权限: -  ID: “hudson.model.Computer.Configure”  -  ID: “hudson.model.Computer.Disconnect” 小岛屿发展中国家: -  “USER1”

带有扬鞭支持的REST API

该插件提供REST API,用于通过Swagger.json管理具有的OpenAPI规范的角色。您可以在Swaggerhub.上查看扬鞭API.SwaggerHub提供了多种语言的存根,可以下载并用于与插件进行交互。您还可以使用卷曲从命令行查看一些示例请求。

昂首阔步
swagger2

接下来做什么

在不久的将来,我想改进用户界面,使插件更容易使用。我还希望改进API,文档和更多的优化来提高插件的性能。