在我们公司,所有 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