【问题标题】:Adding a bulk number of users to Jenkins向 Jenkins 添加大量用户
【发布时间】:2017-06-01 20:49:27
【问题描述】:

要在 Jenkins 中创建新用户,管理员需要提供用户名、emialID 和密码。作为管理员,有没有办法一次将大量用户添加到 Jenkins,方法是提供他们的用户名作为他们的邮件 ID、显示名称作为他们的名字和一个通用密码*?
*假设每个用户登录时都会重置密码

【问题讨论】:

    标签: jenkins multiple-users


    【解决方案1】:

    我正在使用以下 groovy 脚本将用户添加到 Jenkins 并仅提供构建权限。

    import hudson.model.*
    import hudson.security.*
    import hudson.tasks.Mailer
    
    def userId = args[0]
    def password = args[1]
    def email = args[2]
    def fullName= args[3]
    def instance = jenkins.model.Jenkins.instance
    def existingUser = instance.securityRealm.allUsers.find {it.id == userId}
    
    if (existingUser == null) {
        def user = instance.securityRealm.createAccount(userId, password)
        user.addProperty(new Mailer.UserProperty(email));
        user.setFullName(fullName)
    
        def strategy = (GlobalMatrixAuthorizationStrategy) 
        instance.getAuthorizationStrategy()
        strategy.add(hudson.model.Item.BUILD,userId)
        instance.setAuthorizationStrategy(strategy)
        instance.save()
    }
    

    脚本是使用 jenkins-cli 调用的。

    【讨论】:

      【解决方案2】:

      看起来 Jenkins cli 不支持添加用户,但请检查这个 - 使用 groovy 脚本可以做到。

      Creating user in Jenkins via API

      如果您想为每个作业授予特定权限,也许您可​​以使用 CLI get-jobupdate-job 命令。

      或者你可以试试看这个 - Jenkins Add permissions to jobs using groovy 它讨论的几乎一样......

      【讨论】:

      • 感谢@Mor Lajb 的回复。添加用户很好。有没有办法使用这个 groovy 脚本在作业级别为每个用户/组设置权限?
      【解决方案3】:

      将 Jenkins 连接到 LDAP 更容易。看这个插件here

      【讨论】:

        猜你喜欢
        • 2014-09-05
        • 2021-07-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-10-22
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多