Bird
Raised Fist0
Jenkinsdevops~20 mins

Creating first admin user in Jenkins - Practice Exercises

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Jenkins Admin User Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
2:00remaining
Jenkins CLI: Create Admin User Command Output
You run the Jenkins CLI command to create the first admin user with this script snippet:
java -jar jenkins-cli.jar -s http://localhost:8080/ groovy = <<EOF
import jenkins.model.*
import hudson.security.*

def instance = Jenkins.getInstance()

println(instance.securityRealm.createAccount("admin", "admin123"))
EOF

What will be the output?
Jenkins
java -jar jenkins-cli.jar -s http://localhost:8080/ groovy = <<EOF
import jenkins.model.*
import hudson.security.*

def instance = Jenkins.getInstance()

println(instance.securityRealm.createAccount("admin", "admin123"))
EOF
Atrue
Bhudson.security.UserDetailsImpl@<hashcode>
Cnull
DSyntaxError: unexpected token
Attempts:
2 left
💡 Hint
The createAccount method returns a UserDetails object, not a boolean or null.
🧠 Conceptual
intermediate
1:30remaining
Understanding Jenkins Security Realm for Admin User Creation
Which Jenkins security realm setting allows you to create the first admin user by default when Jenkins is freshly installed?
AJenkins' own user database
BLDAP authentication
CUnix user/group database
DOAuth authentication
Attempts:
2 left
💡 Hint
The default Jenkins installation uses a built-in user database for authentication.
❓ Troubleshoot
advanced
2:00remaining
Troubleshooting Jenkins Admin User Creation Failure
You tried to create the first admin user using a Groovy script in Jenkins CLI but got this error:
java.lang.NullPointerException: Cannot invoke method createAccount() on null object

What is the most likely cause?
AThe user already exists
BThe Groovy script syntax is incorrect
CThe Jenkins instance is not running
DThe securityRealm is not initialized because security is disabled
Attempts:
2 left
💡 Hint
If security is disabled, securityRealm is null and cannot create users.
🔀 Workflow
advanced
2:30remaining
Steps to Create First Admin User in Jenkins via Script
What is the correct order of steps to create the first admin user in Jenkins using a Groovy script?
A1,2,3,4
B2,1,3,4
C1,3,2,4
D3,1,2,4
Attempts:
2 left
💡 Hint
You must first access CLI, then write and run script, then verify.
✅ Best Practice
expert
3:00remaining
Best Practice for Securing First Admin User Creation in Jenkins
Which practice is best to secure the creation of the first admin user in Jenkins to avoid exposing credentials?
ADisable security temporarily to create users faster
BWrite passwords directly in Groovy scripts for simplicity
CUse environment variables to pass passwords instead of hardcoding in scripts
DShare admin credentials openly to team members for quick access
Attempts:
2 left
💡 Hint
Avoid putting passwords directly in code or sharing them openly.

Practice

(1/5)
1. Why is it important to create the first admin user in Jenkins?
easy
A. To speed up the build process
B. To secure the Jenkins server by controlling access
C. To reduce the server's memory usage
D. To automatically install plugins

Solution

  1. Step 1: Understand Jenkins security basics

    Jenkins requires an admin user to control who can access and manage the server.
  2. Step 2: Recognize the role of the first admin user

    This user sets permissions and protects the server from unauthorized access.
  3. Final Answer:

    To secure the Jenkins server by controlling access -> Option B
  4. Quick Check:

    Security = Control access [OK]
Hint: First admin user controls access and security [OK]
Common Mistakes:
  • Thinking admin user speeds up builds
  • Confusing admin user with plugin installer
  • Believing admin user reduces memory use
2. Which of the following is the correct syntax to create a new admin user using Jenkins Groovy script console?
easy
A. jenkins.createUser('admin', 'password')
B. Jenkins.instance.createUser('admin', 'password')
C. Jenkins.security.createAccount('admin', 'password')
D. jenkins.model.Jenkins.instance.securityRealm.createAccount('admin', 'password')

Solution

  1. Step 1: Recall Jenkins Groovy script for user creation

    The correct method to create a user is via the securityRealm's createAccount method.
  2. Step 2: Match the exact syntax

    jenkins.model.Jenkins.instance.securityRealm.createAccount('admin', 'password') is the valid syntax.
  3. Final Answer:

    jenkins.model.Jenkins.instance.securityRealm.createAccount('admin', 'password') -> Option D
  4. Quick Check:

    securityRealm.createAccount = correct syntax [OK]
Hint: Use securityRealm.createAccount to add users [OK]
Common Mistakes:
  • Using Jenkins.instance.createUser which does not exist
  • Calling jenkins.createUser directly
  • Using Jenkins.security.createAccount which is invalid
3. What will be the result of running this Groovy script in Jenkins script console?
def instance = jenkins.model.Jenkins.instance
instance.securityRealm.createAccount('admin', 'admin123')
medium
A. Creates a new admin user named 'admin' with password 'admin123'
B. Throws an error because createAccount is undefined
C. Deletes the existing admin user
D. Changes the Jenkins system password

Solution

  1. Step 1: Analyze the script commands

    The script gets the Jenkins instance and calls createAccount on securityRealm with username and password.
  2. Step 2: Understand createAccount effect

    This method creates a new user with the given credentials in Jenkins.
  3. Final Answer:

    Creates a new admin user named 'admin' with password 'admin123' -> Option A
  4. Quick Check:

    createAccount adds user = Creates a new admin user named 'admin' with password 'admin123' [OK]
Hint: createAccount adds user with given name and password [OK]
Common Mistakes:
  • Assuming it deletes users
  • Expecting a system password change
  • Thinking createAccount is undefined
4. You tried to create the first admin user with this script:
jenkins.model.Jenkins.instance.securityRealm.createAccount('admin')

Why does it fail?
medium
A. Missing password argument in createAccount method
B. Incorrect method name, should be createUser
C. Jenkins instance is not accessible in script console
D. Username 'admin' is reserved and cannot be used

Solution

  1. Step 1: Check method parameters

    createAccount requires two parameters: username and password.
  2. Step 2: Identify missing argument

    The script only provides username, missing the password argument, causing failure.
  3. Final Answer:

    Missing password argument in createAccount method -> Option A
  4. Quick Check:

    Two arguments needed = Missing password argument in createAccount method [OK]
Hint: createAccount needs username and password [OK]
Common Mistakes:
  • Using wrong method name
  • Assuming Jenkins instance is inaccessible
  • Thinking 'admin' username is reserved
5. You want to automate creating the first admin user during Jenkins startup using an initialization Groovy script. Which approach is correct?
hard
A. Add the user credentials in config.xml directly
B. Run the createAccount command manually after Jenkins starts
C. Place a Groovy script with createAccount call in init.groovy.d directory
D. Modify Jenkins WAR file to include the user

Solution

  1. Step 1: Understand Jenkins initialization scripts

    Jenkins runs Groovy scripts placed in init.groovy.d folder during startup.
  2. Step 2: Automate user creation

    Placing a script with createAccount call there creates the admin user automatically on startup.
  3. Final Answer:

    Place a Groovy script with createAccount call in init.groovy.d directory -> Option C
  4. Quick Check:

    init.groovy.d scripts run at startup [OK]
Hint: Use init.groovy.d scripts for startup automation [OK]
Common Mistakes:
  • Trying manual commands only
  • Editing config.xml directly (not recommended)
  • Modifying Jenkins WAR file (complex and unsafe)
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard