Installing Jenkins Locally

Installing Jenkins Locally

A calm, step-by-step guide to getting your very own Jenkins running on your own computer. Learn what you need first, the four common ways to install it, how the first-time setup works, and how to fix the problems that trip up almost every beginner.

Imagine you want to learn to cook. You could read a hundred recipe books, but the real learning starts the day you have your own kitchen: a stove you can light, pans you can burn, and a fridge you can raid. Nobody can take your kitchen away, and nobody minds if you make a mess. Installing Jenkins on your own computer gives you exactly that: a private practice kitchen for automation, where you can build, break and rebuild without asking anyone’s permission.

Jenkins is a free automation server. It watches your code, builds it, tests it, and helps deliver it, all without a person pressing buttons. To learn it well, you need a Jenkins of your own. A local installation, meaning one that lives on your own laptop or desktop rather than on a company server, is the quickest and safest way to get one.

In this guide you will learn what you need before you start, how to choose between the four popular ways to install Jenkins, how to follow each path, how the unlock and first-time setup screens work, how to check that everything is healthy, how to keep your local Jenkins safe, and how to solve the most common problems. Every new word is explained the first time it appears, so you can begin from zero.

1What Does “Installing Jenkins Locally” Mean?

A local Jenkins is a real Jenkins server, just small, private and running on your own machine.

Let us take the words one at a time. Installing means placing a program on a computer and preparing it so it can run. Locally means on your own computer, the one in front of you, as opposed to a server somewhere far away in a data centre.

When Jenkins is installed locally, three things happen. A small server program starts running quietly in the background. It listens for visitors on a numbered door of your computer, called a port. And you visit it using your ordinary web browser, by typing an address that points back at your own machine. You will see the same Jenkins screens that professionals see at work. The only difference is that you are the only visitor.

Free
Jenkins costs nothing to download and use
Private
Runs on your machine, visible only to you by default
Safe
A perfect place to experiment and make mistakes

Why install it locally at all?

  • Learning. You can click every button and try every setting with no risk to anyone’s real project.
  • Experiments. Try a new plugin or a new job design here first, before touching the team’s Jenkins.
  • Development. If you write plugins or Pipeline libraries, you need a Jenkins to test them.
  • Personal projects. Automate your own hobby projects, blog builds or small tools.
  • Offline practice. Once installed, most of the learning works without needing anyone else’s server.
Analogy

A local Jenkins is like a small model railway on your hobby table. It is not the real railway, but it has real tracks, real signals and real trains. Everything you learn on the model works the same way on the full-sized line.

2What Jenkins Is Made Of

Before installing something, it helps to know what you are about to put on your computer.

Jenkins is written in a programming language called Java. That is why it needs Java to run. Think of Java as the engine, and Jenkins as the car built around it. Without an engine, the car cannot move, however shiny it looks.

Here are the pieces you will meet:

Piece 1

Java runtime

The engine that runs Jenkins. It must be a version that your Jenkins release supports.

Piece 2

The Jenkins program

Delivered as a single package file called a WAR file, or wrapped inside an installer, a container image or a system package.

Piece 3

A built-in web server

Jenkins carries its own small web server, so you do not need to install a separate one to view its pages.

Piece 4

Jenkins home folder

A folder where Jenkins keeps everything of yours: jobs, settings, plugins, users, secrets and build history.

Piece 5

Plugins

Add-on packages that give Jenkins extra abilities, such as talking to Git. They are downloaded during and after setup.

Piece 6

The controller and agents

Your local install is the controller, the brain. Builds can run on it directly, or on separate helper machines called agents.

The most important folder: the Jenkins home

The Jenkins home directory, often called JENKINS_HOME, is where Jenkins stores all its memory. Your jobs, your users, your installed plugins and your build logs all live there. The program files can be replaced or upgraded at any time, but the home folder holds everything precious. Where it sits depends on how you installed Jenkins, as you will see later. Remember one rule now: the program is replaceable, the home folder is not.

flowchart TD
    B["Your web browser"] -->|"visits port 8080"| W["Jenkins built-in web server"]
    W --> J["Jenkins program"]
    J --> R["Java runtime: the engine"]
    J --> H["Jenkins home folder: jobs, settings, plugins, logs"]
    J --> P["Plugins: extra abilities"]
    J --> X["Build steps run on the controller or on agents"]
    
Figure 1: The parts of a local Jenkins and how your browser reaches them
Analogy

Think of a shop. The Jenkins program is the shop building and its staff. Java is the electricity that makes the lights and tills work. The home folder is the filing room with every customer record and receipt. You can repaint the shop, but you must never lose the filing room.

3What You Need Before You Start

A few minutes of preparation prevents most installation trouble.

RequirementWhat it meansGuidance for a local install
Operating systemThe main software of your computerWindows, macOS and most Linux systems all work
JavaThe engine Jenkins runs onUse a version supported by your Jenkins release. Recent Jenkins releases require Java 17 or newer, and Java 21 is also supported. Installers and container images often bring the correct Java with them
MemoryWorking space for running programsAt least 2 GB free for comfortable learning, more if you run many builds
Disk spaceStorage for filesAt least 10 GB free. Build history and workspaces grow with use
Free portA numbered door on your computerJenkins uses port 8080 by default. Nothing else may be using it
Internet accessA connection to the outside worldNeeded during first-time setup to download plugins
Administrator rightsPermission to install softwareInstallers and services usually need them
A web browserThe window through which you use JenkinsAny modern browser works
!
Warning

Java versions matter. Jenkins releases drop support for old Java versions over time, and a mismatch is the single most common reason a fresh install refuses to start. Always check the Jenkins documentation for the Java versions supported by the release you download. I am writing from memory here, so please confirm the current supported versions on the official Jenkins site before you install.

Which release should you pick?

Jenkins ships in two flavours. The LTS release, short for Long-Term Support, is chosen every few months and then receives only careful fixes. It is the calm, stable choice, and it is the right one for learning. The weekly release arrives about once a week with the newest features and fixes, and it is better for people who want to test new things and accept a bit more change. If you are unsure, choose LTS.

i
Tip

Choose LTS for your first install. When tutorials and books mention screens and settings, they nearly always describe the LTS line, so what you see will match what you read.

Analogy

LTS is like a reliable family car that gets a service every few months. Weekly is like a concept car that gets new parts every week. Both drive, but you would pick the family car to learn on.

4Choosing Your Installation Method

There are four popular roads to the same destination. Pick the one that fits your computer and your comfort.

MethodBest forJava handled for you?Runs as a background service?Difficulty
Native installer or package (Windows installer, Linux package, macOS package manager)A long-lived Jenkins that starts with your computerSometimes. The Windows installer can help, and Linux packages need Java installed firstYesEasy to medium
Docker containerClean, disposable, repeatable installsYes, the image includes itYes, as a containerMedium
Standalone WAR fileQuick experiments and learning how Jenkins really startsNo, you install Java yourselfNo, it runs while your terminal stays openEasy
Kubernetes or cloudTeam and production setupsYesYesAdvanced, not covered here
flowchart TD
    S["I want Jenkins on my computer"] --> Q1{"Do I already use Docker?"}
    Q1 -->|Yes| D["Docker method: clean and disposable"]
    Q1 -->|No| Q2{"Do I want it always running like a normal app?"}
    Q2 -->|Yes| N["Native installer or package: service starts with the computer"]
    Q2 -->|No| Q3{"Do I just want a quick look?"}
    Q3 -->|Yes| WAR["Standalone WAR file: start it and stop it in a terminal"]
    Q3 -->|No| N
    
Figure 2: A simple decision path for picking your installation method
Pick this if

You use Windows and want the easiest path

The Windows installer, a familiar wizard with Next buttons, installs Jenkins as a service.

Pick this if

You use macOS with a package manager

The Homebrew route installs and starts Jenkins with a couple of short commands.

Pick this if

You use Linux

Add the official Jenkins package repository, then install with your system package manager so updates are easy.

Pick this if

You want no mess on your machine

Docker keeps Jenkins and Java in a box you can delete without leaving traces.

Pick this if

You only want to peek

The WAR file needs just Java and one command. Close the terminal and Jenkins stops.

Analogy

The four methods are like four ways to get a bicycle. Buying a ready-built one from a shop is the native installer. Renting one that you return afterwards is Docker. Borrowing your neighbour’s for a quick ride is the WAR file. Arranging a whole fleet for a company is Kubernetes.

5The Big Picture: The Path Every Install Follows

Whichever method you use, the journey has the same milestones.

sequenceDiagram
    participant Y as You
    participant O as Your computer
    participant J as Jenkins
    participant I as Plugin download site
    Y->>O: Prepare Java, disk space and a free port
    Y->>O: Install Jenkins by your chosen method
    O->>J: Start the Jenkins server
    J->>J: Create home folder and a secret unlock file
    Y->>J: Open the address in the browser
    J-->>Y: Ask for the unlock password
    Y->>J: Enter the password from the file
    J->>I: Download the chosen plugins
    Y->>J: Create the first admin user
    J-->>Y: Ready: the Jenkins dashboard
    
Figure 3: Every method ends in the same first-time setup
1

Prepare

Check Java, memory, disk and that port 8080 is free.

2

Install

Use the installer, package, container or WAR file.

3

Start

Jenkins launches, creates its home folder and prepares a one-time unlock password.

4

Unlock

You open the address in your browser and paste the password from a file on disk.

5

Plugins

You choose between suggested plugins and hand-picked ones. Jenkins downloads them.

6

First admin

You create your own administrator account and confirm the address of your Jenkins.

7

Verify

You run a tiny test job to prove everything works from end to end.

6Method One: Installing on Windows

On Windows, the friendliest path is the official installer, which sets Jenkins up as a background service.

A service is a program that Windows starts and keeps running in the background, without needing anyone to be logged in or to keep a window open. It is like the heating system in a house: always ready, never in your way.

Steps in plain words

1

Download the installer

From the official Jenkins download page, choose the Windows installer for the LTS line. It arrives as an installer file with the extension .msi.

2

Run the installer

Double-click the file and let the wizard open. Accept the licence and the default install folder unless you have a reason to change it.

3

Choose the account to run under

The wizard asks which account the service should use. For learning, the default local system option is fine. For anything serious, a dedicated account with limited rights is safer.

4

Choose the port

Keep 8080 unless something else uses it. The wizard offers a button to test whether the port is free.

5

Point to Java

The wizard looks for a suitable Java. Recent installers can also bring one along. If it asks, choose the folder of a supported Java version.

6

Finish and wait

When the wizard ends, Jenkins starts as a service. Give it a minute or two for the first start.

7

Open your browser

Visit the local address on port 8080. You should see the Unlock Jenkins page. Chapter 10 shows how to find the password.

Where things live on Windows

ItemUsual location
Program filesUnder the Program Files folder, in a Jenkins folder
Jenkins homeCommonly under ProgramData, inside a folder named Jenkins and then .jenkins
Unlock password fileInside the home folder, in the secrets folder, in a file called initialAdminPassword
Service nameJenkins, visible in the Windows Services list, where you can start, stop or restart it
i
Tip

If the browser cannot connect right after the install finishes, do not panic. Jenkins takes a while to start the first time. Open the Windows Services list, check that the Jenkins service says Running, wait a minute and refresh.

Analogy

Installing on Windows with the installer is like moving into a furnished flat. The wizard carries the furniture in, connects the electricity and hands you the keys. You mainly say where you want things and click Next.

7Method Two: Installing on macOS and Linux

On these systems, a package manager does the heavy lifting and keeps Jenkins updated later.

A package manager is a helper tool that downloads, installs, updates and removes software for you, from trusted lists called repositories. Instead of hunting for downloads on websites, you ask the helper, and it does the rest.

macOS with Homebrew

Homebrew is the most popular package manager on macOS. The usual route is short: install Java if you do not already have a supported version, install the Jenkins LTS package with the command brew install jenkins-lts, and start it as a background service with brew services start jenkins-lts. Jenkins then listens on port 8080. Its home folder is usually a hidden folder named .jenkins inside your own user folder.

!
Warning

Formula names and details can change over time. Check the Homebrew listing for Jenkins before you rely on the exact names, since I am writing from memory and did not search the web.

Linux with the official package repository

The Jenkins project publishes its own package repositories for the major Linux families, such as Debian and Ubuntu, and Red Hat, Fedora and similar. The general flow is the same everywhere:

1

Install Java first

Use your system’s package manager to install a supported Java runtime. Confirm it by asking for the Java version in a terminal.

2

Add the Jenkins repository

Follow the current instructions on the official Jenkins site to add the repository and its signing key. The key lets your system verify that packages really come from the Jenkins project.

3

Install the package

Ask the package manager for the package named jenkins. It creates a dedicated jenkins user and registers a background service.

4

Start and enable the service

Use systemctl, the standard Linux service controller, to start Jenkins and to make it start automatically at boot.

5

Check its health

Ask systemctl for the service status. It should say active and running. If the firewall is on, allow port 8080.

6

Open the browser

Visit the local address on port 8080 and continue with the unlock steps.

ItemUsual location on Linux packages
Jenkins home/var/lib/jenkins
Unlock password fileInside the home folder, under secrets, in a file called initialAdminPassword
LogsUnder /var/log/jenkins, and also in the system journal
Service namejenkins
Settings such as the portThe service’s configuration, edited with an override and then a restart
Runs as userA dedicated user named jenkins
i
Tip

Because the package installs a service that runs as the jenkins user, your own personal tools, keys and settings are not automatically available to your builds. Later, when a build cannot find a tool you know is installed, remember that builds run as a different user.

Analogy

A package manager is like a trusted delivery service. You give the name of what you want, they fetch it from an approved warehouse, put it in the right room, and later come back to swap it for the newest version when you ask.

8Method Three: Installing with Docker

Docker puts Jenkins, and the Java it needs, in a sealed box that you can start, stop and throw away.

A container is a lightweight, sealed box that holds a program and everything it needs to run. Docker is the most popular tool for creating and running containers. An image is the frozen recipe for a container, and the Jenkins project publishes official images that contain Jenkins and a matching Java.

The big advantage is cleanliness. You do not install Java on your computer, you do not scatter files around, and if you ever want to start over, you delete the container and begin again.

The four ideas you must understand

Idea 1

Image

The official Jenkins image, chosen from the LTS line with a matching Java version. It is downloaded once and reused.

Idea 2

Port mapping

A container has its own inside world. You connect port 8080 of your computer to port 8080 inside the container, so your browser can reach it. A second port, 50000, is used by agents that connect to the controller.

Idea 3

Volume for the home folder

A volume is a storage area that lives outside the container. Attaching one to Jenkins’ home folder means your jobs and settings survive when the container is removed or upgraded.

Idea 4

Background running

You start the container in detached mode, meaning it runs quietly in the background rather than filling your terminal.

flowchart LR
    B["Your browser: port 8080"] --> M["Port mapping"]
    M --> C["Jenkins container"]
    C --> V[("Named volume: Jenkins home")]
    C --> L["Java bundled inside the image"]
    A["Optional agents: port 50000"] --> M
    
Figure 4: The container runs Jenkins, and the volume keeps your data safe outside it

Steps in plain words

1

Install Docker

Install Docker Desktop on Windows or macOS, or the Docker engine on Linux. Confirm it is running.

2

Pull the official image

Ask Docker to download the official Jenkins LTS image, for example the tag combining lts with a supported Java version such as jdk17.

3

Run the container

Start it with a name of your choice, publish port 8080 and port 50000, and mount a named volume at /var/jenkins_home. Add the flag that runs it in the background.

4

Read the startup log

Ask Docker to show the container’s log. Near the end, Jenkins prints the first-time password inside a highlighted block of stars.

5

Open the browser

Visit the local address on port 8080, paste the password, and continue with setup.

!
Warning

Do not skip the volume. Without it, all your jobs and settings live inside the container and are lost the moment the container is deleted. The volume is what turns a throwaway box into a real, upgradeable Jenkins.

A special note: running Docker builds from a containerised Jenkins

A very common next wish is: “I want my Jenkins jobs to build Docker images.” From inside a container, Jenkins cannot see Docker on your computer unless you arrange it. There are ways to do it, such as a separate helper container that provides Docker to Jenkins. This is an advanced topic with real security consequences, because giving a container control of Docker is close to giving it control of your machine. For a first install, leave it for later.

Analogy

Docker is like a camping cabin you can carry. It arrives with its own bed, stove and lamp. You can set it up anywhere, and when the trip ends, you pack it away without leaving marks. The volume is the trunk where you keep your belongings safe between trips.

9Method Four: Running the Standalone WAR File

The lightest way to meet Jenkins: one file, one command, and it runs until you close the terminal.

A WAR file, short for Web Application Archive, is a single packaged file that holds the entire Jenkins web application. The Jenkins WAR also contains a small web server, so you do not need anything else besides Java. This is the method used by people who want to understand exactly how Jenkins starts.

1

Install a supported Java

Confirm it by asking for the Java version in a terminal.

2

Download the WAR

From the official Jenkins download page, pick the generic Java package for the LTS line. It is a file named jenkins.war.

3

Start it with Java

In a terminal, in the folder holding the file, run Java with the option that executes a packaged file, giving it jenkins.war. To choose a different port, add the --httpPort option and a number.

4

Watch the terminal

Jenkins prints its progress. When it finishes starting, it prints the first-time password in a block of stars, and later says it is fully up and running.

5

Open the browser

Visit the local address on the chosen port and continue with the unlock steps.

6

Stop it when finished

Press Ctrl and C in the terminal, or close it. Jenkins shuts down. Your home folder stays on disk, so next time everything is still there.

Where is the home folder for a WAR run?

By default, in a hidden folder named .jenkins inside your own user folder. You can point Jenkins to another place by setting the JENKINS_HOME environment variable before starting it, which is handy for keeping separate practice installations side by side.

i
Tip

The WAR method is wonderful for experiments. Want a fresh, empty Jenkins? Start it with a new, empty JENKINS_HOME folder. Want your old one back? Point to the old folder. You can keep as many separate practice worlds as you like.

!
Warning

A WAR run is not a service. It stops when the terminal closes, when you log out, or when the computer sleeps or restarts. If your builds vanish mysteriously, check whether Jenkins was still running.

Analogy

The WAR file is like a pop-up shop in a single suitcase. Open the case, and the shop is trading. Close the case, and it is gone until you open it again. Perfect for trying out an idea, not for a permanent business.

10The First Visit: Unlocking Jenkins

The first time you open Jenkins, it asks for a secret password. This is a safety feature, not a mistake.

Open your browser and go to the address of your own machine on port 8080. In the address bar, that means localhost:8080. The word localhost is a special name that always means “this same computer”. The number after the colon is the port.

You will see a page titled Unlock Jenkins. It says that, for safety, Jenkins generated a password and placed it in a file and in the startup log. This proves that you have access to the machine, and not merely to its web address. Someone who can only reach the address, but not the machine, cannot get past this page.

flowchart TD
    A["Unlock Jenkins page"] --> B{"How did you install?"}
    B -->|"Windows installer"| W["Read initialAdminPassword in the secrets folder of the Jenkins home"]
    B -->|"Linux package"| L["Read initialAdminPassword under the secrets folder of the Jenkins home"]
    B -->|"macOS Homebrew or WAR"| M["Read initialAdminPassword under the secrets folder of the .jenkins folder in your user folder"]
    B -->|"Docker"| D["Read it from the container log, or from the same file inside the container"]
    W --> P["Copy the long password"]
    L --> P
    M --> P
    D --> P
    P --> U["Paste it into the page and continue"]
    
Figure 5: Where to find the first-time password for each installation method
Installation methodWhere to find the password
Windows installerThe file named initialAdminPassword, in the secrets folder inside the Jenkins home, which the installer page also names
Linux packageThe same file under /var/lib/jenkins/secrets, readable with administrator rights
Homebrew or WARThe file under the secrets folder of the .jenkins folder in your user folder, and also the terminal or log output
DockerThe container log, or the file under /var/jenkins_home/secrets inside the container

The password is a long string of letters and numbers. Copy it exactly, with no extra spaces, paste it into the page and press Continue.

i
Tip

If you cannot find the file, look at the startup output first. Jenkins prints the password there too, between two lines of stars. If you are using Docker and missed the moment, asking Docker for the container’s log will show it again.

Analogy

The unlock password is like a key hidden under the doormat that only someone standing at your own front door could find. A stranger on the street cannot reach it, but you, standing on the porch, can. Once you are inside, you make your own key, the admin account.

11Customizing Jenkins: Choosing Plugins

After unlocking, Jenkins asks which plugins to install. This is your first real choice.

A plugin is an add-on package that gives Jenkins one more ability. Jenkins on its own is a small core, and almost everything useful, such as talking to Git, running Pipelines or sending emails, comes from plugins. The Customize Jenkins page offers two options.

Install suggested plugins

  • The community’s recommended starter set, chosen for most users.
  • Includes Pipeline support, Git support, credentials handling and common build tools.
  • One click, and Jenkins downloads everything while a progress screen shows the ticks.
  • Best for learning, because tutorials assume these plugins are present.

Select plugins to install

  • You tick exactly what you want and nothing more.
  • Keeps the installation smaller and reduces the number of things to keep updated.
  • Needs some knowledge, and a missing plugin can lead to confusing gaps later.
  • Better for people who already know what they need.
i
Tip

For a first install, choose the suggested plugins. You can add, remove and update plugins any time later from the plugin manager, so this choice is easy to change.

What happens while plugins download

Jenkins contacts its official plugin distribution site, downloads each plugin along with the other plugins it depends on, and installs them into the plugins folder inside your Jenkins home. A progress page lists them with ticks. If a few show a failure, it is usually a temporary network problem. Jenkins offers a Retry button, and pressing it normally fixes the matter. If you are behind a company proxy, you may need to give Jenkins the proxy’s details before downloads work.

!
Warning

If you are on a strict network that blocks the plugin site, the setup screen will hang or show many failures. You can continue without plugins and install them later, but many features will be missing until they are added.

Analogy

Choosing plugins is like furnishing a new flat. The suggested set is a starter pack with a bed, a table and a lamp, enough to live comfortably from day one. Selecting your own is like walking through a furniture shop with a shopping list. Both work, but the starter pack is faster if you are new.

12Creating Your First Admin User and Address

The last two setup screens turn you from a visitor holding a temporary key into the proper owner of your Jenkins.

The first admin user

Jenkins asks you to create your own administrator account: a username, a password, your full name and your email address. This becomes your everyday login. From now on you do not need the temporary unlock password. You can also choose to continue as the built-in admin, but creating your own account is a better habit.

!
Warning

Even on a local install, choose a real password and remember it. Passwords stored in plain notes, reused from other sites, or left as something obvious are how small local experiments turn into real security problems, especially if you later expose Jenkins to your network.

The instance configuration: Jenkins URL

The next screen asks for the Jenkins URL, the web address that Jenkins believes it lives at. For a local install, the suggested address, which uses localhost and your port, is correct. Jenkins uses this address when it builds links in emails and notifications. If it is wrong, those links will point to the wrong place.

Start using Jenkins

Finally, Jenkins says it is ready. Press the button to start using it, and you arrive at the dashboard: the home page where jobs are listed and where the menu on the left lets you create new items, manage Jenkins and view builds.

Screen 1

Unlock Jenkins

Paste the one-time password from the file or log.

Screen 2

Customize Jenkins

Choose suggested plugins or select your own.

Screen 3

Getting Started

Watch the plugins download and install.

Screen 4

Create First Admin User

Set your own username and password.

Screen 5

Instance Configuration

Confirm the Jenkins URL.

Screen 6

Jenkins is ready

Start using Jenkins and arrive at the dashboard.

Analogy

The first admin account is like getting your own front-door key cut after moving in. The temporary key from under the doormat did its job, but you would never want to live with that. Now the house is properly yours.

13Verifying That Your Install Works

A tiny test job proves that Jenkins, Java and the machine all work together.

Never assume. Prove it. Run a small job that does almost nothing, and check that it succeeds.

1

Create a new item

On the dashboard, choose New Item, give it a name such as hello-jenkins, and pick the Freestyle project type.

2

Add one build step

Add a step that runs a shell command on Linux and macOS, or a batch command on Windows, printing a friendly greeting.

3

Save and build

Save the job and press Build Now.

4

Watch the result

A new entry appears in the build history. A blue or green mark means success, and red means failure.

5

Open the Console Output

Your greeting appears in the log, followed by a line saying Finished: SUCCESS.

A health checklist

CheckWhat to look atHealthy sign
Server reachableThe dashboard in the browserLoads without errors
VersionThe version shown at the bottom right of the pageThe release you intended
PluginsManage Jenkins, then the plugin managerInstalled list matches your choice, with no urgent warnings
System informationManage Jenkins, then System InformationShows your Java version and Jenkins home path
Test buildYour hello jobFinished: SUCCESS
Built-in nodeManage Jenkins, then NodesOnline, with disk space and free memory shown
i
Tip

The System Information page is a quiet hero. It shows the Java version, the operating system, the home folder path and many settings. When you ask for help online, pasting the relevant lines from here saves a lot of back-and-forth.

Analogy

The hello job is like switching on a new appliance for the first time with nothing inside. You are not cooking dinner yet. You only want to see the light come on and hear the motor hum, so that you know the appliance itself is sound.

14Starting, Stopping and Changing Settings

How you control Jenkins depends on how you installed it.

MethodTo startTo stopTo change the port
Windows installerStart the Jenkins service from the Services listStop the serviceEdit the service’s configuration file and restart
Linux packageStart the jenkins service with the service controllerStop the serviceOverride the service’s environment setting, then restart
HomebrewStart it with the brew services commandStop it the same wayChange the launch settings, then restart
DockerStart the container by nameStop the container by nameRecreate the container with a different published port
WAR fileRun Java with the WAR againPress Ctrl and C in its terminalAdd the --httpPort option to the start command

Safe restarts from inside Jenkins

Jenkins has its own polite restart options in the browser. A safe restart waits for running builds to finish and then restarts, so nothing is cut off. A restart is immediate. The address for these actions lives under the Manage Jenkins area, and many plugin installations prompt you to restart when they finish.

Upgrading later

Jenkins tells you on the dashboard when a new version is available. The general upgrade routes match the installation methods.

  • Windows installer: the dashboard often offers an upgrade, or run the newer installer.
  • Linux and Homebrew: update through the package manager.
  • Docker: pull the newer image, remove the old container and start a new one with the same volume. Your data stays.
  • WAR file: download the newer WAR and start it with the same home folder.
!
Warning

Before any upgrade, copy the whole Jenkins home folder as a backup. Upgrades are normally smooth, but an untested plugin combination can surprise you, and a backup turns a bad afternoon into a two-minute rollback.

Analogy

A safe restart is like a shop owner waiting for the last customer to finish paying before locking the door for a stock-take. An immediate restart is like locking the door with people still at the till.

15Security for a Local Jenkins

A local Jenkins feels harmless, but it can run programs on your computer. Treat it with care.

Think about what Jenkins does: it runs commands you give it, with the rights of the account it runs under. Anyone who can log in and create a job can run commands on your machine. That is exactly why the unlock step exists, and why a few simple habits matter.

Habit 1

Keep it on localhost

By default, other people on your network may also reach your port. If you do not need that, use your firewall to allow only your own machine.

Habit 2

Use a strong admin password

Never leave anything guessable, and do not reuse passwords from other places.

Habit 3

Keep security enabled

Do not turn off the login system, even for convenience. Anonymous access to a machine that runs commands is a serious risk.

Habit 4

Update regularly

Jenkins and its plugins receive security fixes. The dashboard warns you about known problems. Pay attention to those warnings.

Habit 5

Store secrets properly

Use the built-in credentials feature for passwords and tokens, never text typed into job settings or scripts.

Habit 6

Install only trusted plugins

Every plugin adds code that runs inside Jenkins. Prefer well-known, actively maintained plugins.

Habit 7

Be careful with unknown code

Do not build repositories from strangers on a Jenkins that runs on your personal computer, because a build can do anything you can do.

Habit 8

Consider a dedicated account

Where possible, run Jenkins under an account with limited rights, so a mistake cannot touch your personal files.

!
Warning

Never expose your local Jenkins directly to the public internet, for example by forwarding a port on your home router. Automated scanners find open Jenkins servers very quickly. If you need remote access, use a secure tunnel or a VPN, and keep every safeguard in place.

Analogy

A Jenkins server is like an extremely helpful robot butler that will carry out any instruction given in your own voice. You would not leave the front door open and let strangers whisper commands to it. Lock the door, keep your voice private, and choose who may speak to the butler.

16Troubleshooting Common Problems

Almost every beginner meets the same handful of problems. Here is a map from symptom to cause to fix.

flowchart TD
    P["Jenkins page does not load"] --> Q1{"Is Jenkins running?"}
    Q1 -->|No| S1["Start the service, container or WAR and read its log for errors"]
    Q1 -->|Yes| Q2{"Right address and port?"}
    Q2 -->|No| S2["Use localhost with the correct port"]
    Q2 -->|Yes| Q3{"Is another program using the port?"}
    Q3 -->|Yes| S3["Stop that program, or move Jenkins to another port"]
    Q3 -->|No| Q4{"Firewall blocking it?"}
    Q4 -->|Yes| S4["Allow the port in the firewall"]
    Q4 -->|No| S5["Wait a minute: first start is slow. Then re-read the log"]
    
Figure 6: A decision path for a Jenkins page that will not open
SymptomLikely causeWhat to do
Jenkins will not start, and the log mentions an unsupported Java versionJava is too old or too new for this Jenkins releaseInstall a supported Java, point Jenkins to it and restart
Browser says it cannot connectJenkins is not running yet, or is on another portCheck the service, wait for first start, and confirm the port
Error that the port is already in useAnother program holds port 8080Stop the other program, or start Jenkins on a different port
Cannot find the unlock passwordLooking in the wrong folder for your methodUse the location table in Chapter 10, or read the startup log
Permission denied when reading the password fileThe file is protectedRead it with administrator rights
Plugin downloads fail or hangNetwork blocked, or a proxy is neededRetry, set the proxy details, or continue and install plugins later
Everything is very slowNot enough memory for Java, or a crowded diskClose heavy programs, free disk space, or give Jenkins more memory
Builds cannot find a tool you installedJenkins runs as another user with a different environmentConfigure the tool in Jenkins, or make it available to the Jenkins user
Jobs vanished after a Docker upgradeNo volume was attached, so data was inside the old containerRestore from a backup, and always attach a volume next time
Jenkins stops when the terminal closesYou started the WAR in a terminalUse a service-based method or keep the terminal open
Links in emails point to the wrong addressThe Jenkins URL setting is wrongFix it in the system settings
Page says Jenkins is starting and never finishesA plugin is failing to load or disk is fullRead the log for the first error, and check free space
i
Tip

When in doubt, read the log from the bottom up and look for the first line that says SEVERE or an exception. Nine times out of ten, the answer to your problem is written in plain sight there, and searching the exact message brings up help quickly.

Analogy

Troubleshooting is like working out why a lamp does not turn on. Is it plugged in, is the bulb good, is the power on at the wall? Working through the simple possibilities in order finds the answer faster than any clever theory.

17Backups and Where Your Data Lives

Everything of value is in the home folder. Protecting it is protecting your work.

Inside the Jenkins home, several parts matter most:

PartWhat it holdsBackup priority
Main configuration fileGlobal settings such as security options and system messagesEssential
Jobs folderThe definition and history of every jobEssential, though history can be large
Plugins folderInstalled pluginsUseful, but can be reinstalled
Users folderAccount informationEssential
Secrets folderEncryption keys and the unlock passwordEssential and sensitive, guard it carefully
Workspace folderTemporary copies of code being builtNot needed, can be rebuilt

A very simple and effective backup is a copy of the whole home folder, made while Jenkins is stopped or idle. Store the copy somewhere else, such as an external drive or a cloud folder that is encrypted. Because the secrets folder unlocks encrypted values in your settings, treat any backup as sensitive material.

i
Tip

Store your job definitions as code, in a Jenkinsfile kept with your project in Git. Then your most valuable work lives safely in version control, and a lost Jenkins home means an inconvenience rather than a disaster.

Analogy

Backing up the home folder is like photocopying the important papers from your filing room and keeping the copies at a relative’s house. If the room floods, the papers still exist somewhere else.

18Advantages, Disadvantages and Trade-offs

A local Jenkins is a wonderful teacher, but it is not a team server.

Advantages of a local Jenkins

  • Free, private and fully under your control.
  • A safe place to learn, break things and start over.
  • Fast feedback, since everything is on one machine.
  • No need for approvals, servers or network changes.
  • Perfect for testing plugins and Pipeline ideas before using them at work.

Disadvantages and limits

  • Only available while your computer is on and Jenkins is running.
  • Shares your computer’s memory and disk with everything else you do.
  • Not designed for many users or heavy workloads.
  • Builds run with the rights of your machine, which raises risk.
  • No automatic redundancy. If the disk fails, the data may be gone.
  • Webhooks from outside services cannot easily reach a private laptop.

The trade-off is convenience versus reliability. A local Jenkins is instantly available and costs nothing, but it lives and dies with your computer. A shared Jenkins on a proper server is more work to set up, but it is always on, backed up and reachable by the whole team. Use the local one to learn and to prototype, and move to a server when others depend on it.

A local Jenkins is a practice kitchen: build every recipe there, but do not cater the wedding from it.

19Patterns, Anti-patterns and Decisions

Small choices at install time shape how smoothly your Jenkins grows.

Patterns worth copying

Pattern

Use the LTS release

Stable behaviour and documentation that matches what you see.

Pattern

Keep data outside the program

A volume for Docker, or a known home folder for other methods, so upgrades never touch your work.

Pattern

Verify with a hello job

Prove the whole chain works before building anything real.

Pattern

Back up before upgrades

Copy the home folder first, so any surprise is reversible.

Pattern

Keep jobs in code

Store pipelines in the project’s Git repository rather than only inside Jenkins.

Pattern

One practice world per purpose

With the WAR or Docker, keep separate home folders for separate experiments.

Anti-patterns to avoid

ANTI-PATTERN 01Avoid
What people do

They run Docker without a volume “just to try it”, then build real jobs in it.

Why it hurts

Deleting or upgrading the container wipes everything. Weeks of work vanish in a second.

Better approach

Always attach a named volume for the home folder from the first run.

ANTI-PATTERN 02Avoid
What people do

They turn off security or allow anonymous access to avoid logging in.

Why it hurts

Anyone who can reach the port can run commands on the machine.

Better approach

Keep login enabled and use a strong password. The login takes seconds.

ANTI-PATTERN 03Avoid
What people do

They expose their home Jenkins to the internet so a webhook can reach it.

Why it hurts

Public Jenkins servers are attacked continuously, and one weak spot gives an attacker a command line on your computer.

Better approach

Use a secure tunnel with proper controls, or trigger builds by schedule or manually while learning.

ANTI-PATTERN 04Avoid
What people do

They ignore the Java version requirement and install whichever Java is handy.

Why it hurts

Jenkins refuses to start or behaves oddly, and hours are lost chasing the wrong problem.

Better approach

Check the supported versions first, or use Docker or an installer that brings the right Java.

ANTI-PATTERN 05Avoid
What people do

They never update, so their local Jenkins and plugins grow years old.

Why it hurts

Known security holes remain open, and old plugins stop working with new tools.

Better approach

Update every few months, after taking a backup.

20Best Practices, Common Mistakes and Where to Go Next

A short list of habits that make a local Jenkins pleasant for years.

Best practices

  • Check requirements first. Java version, memory, disk and free port.
  • Pick one method and stick to it. Mixing a package install with a Docker install on the same port causes confusion.
  • Choose LTS. Learn on the stable line.
  • Know your home folder. Write down its path the day you install.
  • Use the suggested plugins at first. Adjust once you know what you need.
  • Create your own admin user. Do not rely on the temporary password.
  • Test with a tiny job. Confirm success before building anything important.
  • Back up before changes. Upgrades, plugin sweeps and experiments all deserve a safety copy.
  • Read the log first. It answers most questions.

Common mistakes

!
Mistake

Closing the terminal of a WAR run and wondering why Jenkins disappeared. A WAR run is not a service, and it stops with its terminal.

!
Mistake

Running two Jenkins installs on the same port. The second cannot start, and the first may not be the one you think you are visiting. Use different ports or stop one.

!
Mistake

Pasting the unlock password with a hidden space at the end. If the page says it is invalid, retype or re-copy it carefully.

!
Mistake

Expecting Jenkins to see the tools of your personal account. Services run as another user, so make tools available to that user or configure them inside Jenkins.

Where to go next

Once your Jenkins is running, a natural learning path follows the topics in this series: create a Freestyle project and understand its steps, connect a Git repository, read the Console Output, learn the environment variables Jenkins provides, explore the command line interface, and try a scheduled nightly build. Each of these grows naturally out of the working installation you now have.

21Real-World Usage Patterns

People install Jenkins locally for very different reasons. Here are some common stories.

The student learning automation

A student installs Jenkins with the Windows installer, chooses the suggested plugins, and builds small sample projects from GitHub. Within a weekend, they understand jobs, builds and Console Output, and can talk about them confidently in interviews.

The developer testing a Pipeline

A developer writing a new Pipeline library runs Docker-based Jenkins with a named volume. They test changes locally, throw away the container when experiments go wrong, and keep the volume for the parts they want to keep.

The plugin author

Someone building a Jenkins plugin starts a local Jenkins from a WAR file with a dedicated home folder, loads their in-progress plugin, and restarts often. Separate home folders let them test against a clean Jenkins and an old one.

The solo blogger

A blogger with a static website runs Homebrew Jenkins on a spare Mac. A scheduled job pulls the site’s repository, builds the pages and copies them to the web host every night, a small piece of automation that saves an hour a week.

The engineer rehearsing an upgrade

Before upgrading the company Jenkins, an engineer copies its configuration into a local Docker Jenkins, upgrades that copy first, and watches for plugin problems. The real upgrade then goes smoothly because the surprises were found at home.

The trainer running a workshop

A trainer gives each participant the same Docker command. In minutes, twenty laptops each run an identical Jenkins, and the class begins without anyone fighting installation differences.

22Frequently Asked Questions

Q1What is the easiest way to install Jenkins locally?
On Windows, the official installer. On macOS, Homebrew. On Linux, the official package repository. If you already use Docker, the Jenkins container is also very easy and very clean.
Q2Do I need to install Java first?
For the WAR file and Linux packages, yes. Docker images include Java, and some installers can bring one or find one for you. Always use a Java version supported by your Jenkins release.
Q3What address do I open after installing?
Type localhost followed by a colon and the port into your browser. The default port is 8080, unless you chose another.
Q4Where do I find the initial admin password?
In a file named initialAdminPassword inside the secrets folder of the Jenkins home, and also printed in the startup log. The exact folder depends on how you installed Jenkins, and Chapter 10 lists the usual places.
Q5Should I choose suggested plugins or select my own?
For a first install, choose the suggested plugins. You can add and remove plugins later from the plugin manager.
Q6Which is better for learning: LTS or weekly?
LTS. It is more stable and matches most tutorials and books.
Q7Can I change the port from 8080?
Yes. Each method has its own way: an option for the WAR file, a service setting for installers and packages, and a different published port for Docker. Restart Jenkins afterwards.
Q8Why did my jobs disappear after upgrading with Docker?
Almost certainly because no volume was attached to the home folder, so your data lived inside the old container. Always attach a named volume, and take backups before upgrades.
Q9Is a local Jenkins safe?
It is safe if you keep login enabled, use a strong password, keep it off the public internet and update it regularly. Remember that Jenkins can run commands on your computer, so treat access to it seriously.
Q10Can I run more than one Jenkins on the same computer?
Yes, if each uses its own port and its own home folder. Docker and WAR runs make this especially easy.
Q11Can GitHub or other websites trigger my local Jenkins automatically?
Not easily, because your computer is not reachable from the internet. While learning, use manual builds, schedules or polling. Later you can explore secure tunnels or move Jenkins to a reachable server.
Q12How do I uninstall Jenkins?
Use the same method you installed with: the uninstaller or Apps list on Windows, the package manager on macOS and Linux, and removing the container on Docker. Deleting the Jenkins home folder removes your data too, so back it up first if you want to keep anything.

23Summary and Key Takeaways

Installing Jenkins locally gives you a private, free practice kitchen for automation. Before you begin, check that you have a supported Java, enough memory and disk, and a free port. Then choose the method that suits you: the native installer or package for a service that is always on, Docker for a clean and disposable box, or the WAR file for a quick experiment. Whichever road you take, you arrive at the same first-time setup: unlock with a one-time password, install plugins, create your own admin user, confirm the address, and land on the dashboard.

The habits that follow matter as much as the install. Prove that it works with a tiny test job, know where your Jenkins home folder lives, back it up before changes, keep security switched on, and never expose your local server to the open internet. With those in place, your local Jenkins will serve you well while you learn every topic that follows.

Key Takeaways

  • A local Jenkins is a real Jenkins on your own machine, ideal for learning, experiments, plugin testing and personal automation.
  • Prepare first: a supported Java version, about 2 GB of free memory, 10 GB of disk, a free port 8080 and internet access for plugins. Prefer the LTS release.
  • Choose one of four methods: native installer or package for an always-on service, Docker for a clean disposable box, the WAR file for quick experiments, or Kubernetes for team setups beyond local use.
  • Every method ends in the same setup: open localhost on the port, paste the initialAdminPassword, choose suggested plugins, create your admin user, confirm the Jenkins URL, and reach the dashboard.
  • Protect the Jenkins home folder. It holds all your work. With Docker always attach a volume, and back the folder up before every upgrade.
  • Verify with a hello job and the System Information page, and read the log from the bottom up when something goes wrong.
  • Keep it safe: leave security enabled, use a strong password, update regularly, and never expose your local Jenkins directly to the public internet.