How to Set Up Jenkins: Proven Steps for a CI/CD-Ready Server
Jenkins is the industry-standard open-source automation server for continuous integration and delivery. Whether you are a solo developer or part of a DevOps team, setting up Jenkins correctly lays the foundation for automated builds, tests, and deployments. This practical guide walks you through the essential steps from installation to your first build job.
Prerequisites
Before touching Jenkins, confirm your environment is ready. Jenkins requires Java Development Kit (JDK) 11 or 17 to run. You will also need at least 2GB of RAM and 10GB of free disk space on Windows, macOS, or a Linux server.

Step 1: Install and Start Jenkins
The quickest path is to grab the generic WAR file from jenkins.io, but package managers work too:
- Debian/Ubuntu:
sudo apt install jenkins - macOS:
brew install jenkins-lts - Windows: run the official installer
- Universal:
java -jar jenkins.war
Jenkins defaults to port 8080. Start it with systemctl start jenkins or run the WAR file directly.
Step 2: Unlock the Server
Open http://localhost:8080 in your browser. The server asks for an initial admin password. Retrieve it from /var/lib/jenkins/secrets/initialAdminPassword on Linux/macOS, or from the install log on Windows. Paste the hash, then select “Install suggested plugins” to keep your setup lean.
Step 3: Create Admin Account and Set URL
After plugins load, create a dedicated admin user with a strong password. Jenkins will prompt for its publicly reachable URL. Enter your server’s IP address or domain name—critical if team members will access the dashboard remotely.
Step 4: Execute Your First Build
Click “New Item,” name your project, and select “Freestyle project.” Under Build Steps, add an “Execute shell” (or “Execute Windows batch command”) step with echo Hello Jenkins. Save, click “Build Now,” and watch the console output. A blue checkmark means success.
Conclusion
You now have a live Jenkins server ready for automation. From here, connect your Git repository, install plugins like Node.js or Docker, and define declarative pipelines to unlock the full power of CI/CD.