Jenkins DSL: LDAP Roles



在我们公司,所有 Jenkins 作业都只能通过 Jenkins DSL 创建。我们的 Jenkins 权限是通过 LDAP 控制的。为此,我们使用 Jenkins LDAP 插件 (https://wiki.jenkins.io/display/JENKINS/LDAP+Plugin( 版本 1.20。

目前,个人 LDAP 用户已获得授权:

freeStyleJob ('Jobname') {
[...]
authorization {
permission('hudson.model.Item.Build', 'User1')
permission('hudson.model.Item.Build', 'User2')
[...]
}
[...]
}

我想使用 LDAP 组而不是授权单个用户:

freeStyleJob ('Jobname') {
[...]
authorization {
permission('hudson.model.Item.Build', 'LDAPROLE_BUILD')
}
[...]
}

如何调整我的 DSL 文件以使用 LDAP 角色而不是单个用户?

这正是你必须这样做的方式:

freeStyleJob ('Jobname') {
[...]
authorization {
permission('hudson.model.Item.Build', 'LDAPROLE_BUILD')
}
[...]
}

如果要授予多个 LDAP 角色构建权限,则必须使用数组来执行此操作:

freeStyleJob ('Jobname') {
[...]
authorization {
permission('hudson.model.Item.Build', ['LDAPROLE_BUILD1', 'LDAPROLE_BUILD2'])
}
[...]
}

为具有生成权限的角色授予取消生成hudson.model.Item.Cancel的权限也是有用的

要仅授予 LDAP 角色"读取"作业的权限,您可以使用读取和工作区:

  • hudson.model.Item.Read
  • hudson.model.Item.Workspace

最新更新