Jenkins Lesson 6 – Initial Setup and UI | Dataplexa
Section I · Lesson 6

Initial Setup and UI

Jenkins is installed and running. You open the browser, hit localhost:8080, and a setup screen is staring at you. This lesson walks you through every step of that first-time setup and every corner of the UI — so nothing feels unfamiliar when you start building jobs.

This lesson covers

The unlock screen → Plugin install → Admin account → The dashboard → Key UI areas you'll use every day

Step 1 — Unlocking Jenkins

The very first screen Jenkins shows you is an unlock page. It's asking for a one-time password that was generated when Jenkins started for the first time. This is a security measure — it proves that whoever is doing the setup has actual access to the server, not just the network.

localhost:8080 — Unlock Jenkins
🔒

Unlock Jenkins

To ensure Jenkins is securely set up, please enter the administrator password from one of these locations on your server.

Linux / Mac (native install):

/var/lib/jenkins/secrets/initialAdminPassword

Docker:

docker exec jenkins-local cat /var/jenkins_home/secrets/initialAdminPassword
Administrator password
Continue →

Once you paste the password and click Continue, Jenkins moves to the plugin selection screen.

Step 2 — Installing Plugins

Jenkins asks you to choose between two options. This is one of the most important choices you make during setup — and most people pick the wrong one for their situation.

✅ Recommended for most people

Install Suggested Plugins

Jenkins installs a curated set of the most commonly used plugins — Git, Pipeline, Credentials, Workspace Cleanup, and more. Takes 2–5 minutes. Best choice if you're learning or setting up a general-purpose Jenkins.

For advanced users

Select Plugins to Install

You hand-pick every plugin from a full list. Good for locked-down enterprise environments where you know exactly what you need and nothing else. Easy to end up with a broken setup if you skip something important.

Quick note: Plugins are extensions that add capabilities to Jenkins — like adding apps to a phone. A fresh Jenkins install can barely do anything useful on its own. Plugins are where the power lives. You'll go deep on plugins in Section III.

Step 3 — Creating Your Admin Account

After plugins install, Jenkins asks you to create the first admin user. Fill in a username, password, full name, and email address. This becomes the primary admin account — the one with full control over everything.

Don't skip this step. Jenkins will offer a "Skip and continue as admin" option. If you skip it, the admin password stays as that long random string from the unlock screen — and teams regularly lose it. Always create a proper admin account here.

The Dashboard — Your Command Centre

After setup, you land on the Jenkins dashboard. This is the screen you'll open every morning. Let's walk through exactly what each area does:

Jenkins Dashboard — localhost:8080
admin ▾
🏠 Jenkins New Item People Build History Manage Jenkins

Quick Actions

+ New Item
👥 People
🕐 Build History
⚙️ Manage Jenkins
🖥 Manage Nodes

Build Queue

No builds in queue

Build Executor

Idle · 2 executors

All Jobs

Filter ▾
S Name Last Run Status Duration
payment-service-build 4 min ago SUCCESS 1m 22s
frontend-test 23 min ago FAILED 3m 41s
api-gateway-deploy Running now RUNNING 0m 38s

Every Area of the UI — Explained

🏠

Dashboard

The home screen. Lists all your jobs with their last build status. Green dot = last build passed. Red = failed. Blue = running. This is the first thing you check every morning.

New Item

Where you create new jobs. Click this and Jenkins asks you to choose a job type — Freestyle, Pipeline, Multibranch Pipeline, and more. You'll be here a lot.

⚙️

Manage Jenkins

The control panel. System configuration, plugin management, managing nodes, security settings, credentials — everything lives under this menu. Treat it like your settings app.

🕐

Build History

A timeline of every build that has ever run on this Jenkins instance — across all jobs. Useful for auditing: "What ran last Tuesday at 3 PM?" This has the answer.

📋

Build Queue

Shows jobs waiting for a free executor. If this list keeps growing and not shrinking, you need more agents or more executors. A long queue is a sign your Jenkins is undersized.

🖥

Build Executor Status

Shows which executors are running which jobs right now. Click a running job name here to jump straight to its live console output. Super useful when something's taking longer than expected.

The Console Output — The Most Important Page

When a build runs, Jenkins captures every line of output from every command and displays it in the Console Output page. This is the page you'll visit most when something goes wrong. To get there: click on a job → click a build number → click Console Output.

Console Output — frontend-test #47

Started by user admin

[Pipeline] Start of Pipeline

[Pipeline] node

Running on agent-linux-01 in /var/jenkins_home/workspace/frontend-test

[Pipeline] stage

[Pipeline] { (Test) }

+ npm test

FAIL src/components/Checkout.test.js

● Checkout › should calculate total correctly

Expected: 99.99 · Received: 109.99

Tests: 1 failed, 14 passed

Finished: FAILURE

Reading the Console Output

  • Blue [Pipeline] lines — Jenkins narrating its own execution. These show which stage is running and which agent is being used.
  • Running on agent-linux-01 — tells you exactly which machine ran this build. In a multi-agent setup this is critical for debugging.
  • Lines starting with + — the actual shell commands Jenkins executed, printed before their output. + npm test means Jenkins ran the command npm test.
  • Red text — not always Jenkins — often the tool itself (npm, gradle, pytest) printing its own failure output. Read these lines carefully — they contain the real error.
  • Finished: FAILURE — Jenkins' final verdict. This is what turns the build dot red on the dashboard.

Checking Jenkins From the Terminal

The scenario:

You're a junior DevOps engineer. Jenkins has been running for a week. Your manager asks: "Is Jenkins healthy? How long has it been up?" You don't want to scroll through the UI — you want the raw facts fast. This command gives you Jenkins' version, uptime, and system info in seconds.

Tools used:

  • curl — a command-line tool for making web requests. Here we use it to call the Jenkins API and get system information back in JSON format.
  • Jenkins REST API — Jenkins exposes a built-in API at /api/json on any page. Add /api/json to the end of any Jenkins URL and you get that page's data as machine-readable JSON instead of HTML.
  • python3 -m json.tool — a quick way to pretty-print JSON so it's readable. It's built into Python — no install needed.
# Call the Jenkins API to get system-level information
# The /api/json endpoint returns data about whatever page you're on
# Here we're calling the root URL so we get overall system info
curl \
  --user admin:your-api-token \
  http://jenkins-master-01:8080/api/json?pretty=true

Where to practice: If you have Jenkins running via Docker from Lesson 5, open a new terminal and run this command against http://localhost:8080. Use your admin username and the password you set during setup. Full API documentation is at jenkins.io — Remote Access API.

{
  "_class": "hudson.model.Hudson",
  "assignedLabels": [{"name": "built-in"}],
  "description": null,
  "jobs": [
    {"name": "api-gateway-deploy", "url": "http://jenkins-master-01:8080/job/api-gateway-deploy/", "color": "blue"},
    {"name": "frontend-test",      "url": "http://jenkins-master-01:8080/job/frontend-test/",      "color": "red"},
    {"name": "payment-service-build","url": "http://jenkins-master-01:8080/job/payment-service-build/","color": "blue"}
  ],
  "mode": "NORMAL",
  "nodeDescription": "the controller for Jenkins",
  "nodeName": "",
  "numExecutors": 0,
  "quietingDown": false,
  "slaveAgentPort": 50000,
  "useCrumbs": true,
  "useSecurity": true,
  "views": [{"name": "All", "url": "http://jenkins-master-01:8080/"}]
}

What just happened?

  • "color": "blue" and "red" — Jenkins uses colour names to represent build status in its API. Blue = last build passed (yes, blue not green — a quirk from Jenkins' early days). Red = last build failed.
  • "numExecutors": 0 — confirms the master has zero executors. Exactly what we want. All builds route to agents.
  • "useSecurity": true — security is enabled on this Jenkins instance. If this were false, anyone on the network could access Jenkins with no login — a serious misconfiguration.
  • "quietingDown": false — Jenkins is accepting new builds normally. If this were true it means someone put Jenkins into "quiet mode" — new jobs queue up but don't start. Used before maintenance.
  • "slaveAgentPort": 50000 — this is the port agents use to connect back to the master via JNLP. This is why we published port 50000 in the Docker run command in Lesson 5.

Teacher's Note

Bookmark the console output page. Every Jenkins problem you ever debug will start there.

Practice Questions

1. What is the name of the file Jenkins generates at first start that you need to unlock the setup screen?



2. Where in the Jenkins UI do you go to see every command that ran during a build and why it failed?



3. Under which menu in the Jenkins UI would you find plugin management and system configuration?



Quiz

1. In the Jenkins API response, what colour value represents a job whose last build passed?


2. What does "quietingDown": true mean in the Jenkins API response?


3. During first-time setup, which plugin option should most users choose?


Up Next · Lesson 7

Jenkins Jobs Overview

Freestyle, Pipeline, Multibranch — five job types and exactly when to use each one.