mg
181da3c38a
keepass vars playbook jenkins java jenkins in inventory Co-authored-by: Michael Grote <michael.grote@posteo.de> Reviewed-on: mg/ansible#80 Co-Authored-By: mg <mg@noreply.git.mgrote.net> Co-Committed-By: mg <mg@noreply.git.mgrote.net>
28 lines
973 B
Django/Jinja
28 lines
973 B
Django/Jinja
#!groovy
|
|
import hudson.security.*
|
|
import jenkins.model.*
|
|
|
|
def instance = Jenkins.getInstance()
|
|
def hudsonRealm = new HudsonPrivateSecurityRealm(false)
|
|
def users = hudsonRealm.getAllUsers()
|
|
users_s = users.collect { it.toString() }
|
|
|
|
// Create the admin user account if it doesn't already exist.
|
|
if ("{{ jenkins_admin_username }}" in users_s) {
|
|
println "Admin user already exists - updating password"
|
|
|
|
def user = hudson.model.User.get('{{ jenkins_admin_username }}');
|
|
def password = hudson.security.HudsonPrivateSecurityRealm.Details.fromPlainPassword('{{ jenkins_admin_password }}')
|
|
user.addProperty(password)
|
|
user.save()
|
|
}
|
|
else {
|
|
println "--> creating local admin user"
|
|
|
|
hudsonRealm.createAccount('{{ jenkins_admin_username }}', '{{ jenkins_admin_password }}')
|
|
instance.setSecurityRealm(hudsonRealm)
|
|
|
|
def strategy = new FullControlOnceLoggedInAuthorizationStrategy()
|
|
instance.setAuthorizationStrategy(strategy)
|
|
instance.save()
|
|
}
|