Jenkins DSL:LDAP 角色

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 角色仅对 'read' 作业的权限,您可以使用读取和工作空间:

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