How to install Jenkins on Linux
Overview
On this post we’re gonna go through the process on how to install Jenkins on Linux. We will cover the steps of installing Jenkins on Ubuntu/Debian distros and on Fedora/CentOS.
We tested this process on AWS and it’s EC2 instance, but also on couple of virtual machines running from a local computer. So, this means that you can use these steps to install Jenkins on your AWS instance or any other Linux machine which is cloud hosted or on your local Linux machine.
Apart from this method, we also covered the process of installing and deploying Jenkins as a Docker container. To see the process how it’s done, you can check it out on this post.
Install Jenkins on Ubuntu/Debian
Before installing Jenkins on Debian or Debian based distros such as Ubuntu, make sure that you have Java installed first. Jenkins requires to have Java installed and it runs on Java version 8 minimum. To install Java, you can do this with these commands:
sudo apt update
sudo apt install openjdk-8-jdk
After Java is installed, then we can continue with the Jenkins installation. First we need to add Jenkins repository. After the repository is added, we can install Jenkins. Use the commands from bellow:
wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt update
sudo apt install jenkins
When you run these commands, you should get output like on the images from bellow.
Once the installation is finished, start the jenkins and check if it’s running and it’s status. We can do this with these commands:
sudo service jenkins start
sudo systemctl status jenkins
If Jenkins loads up correctly, you should see an output like on the image:
Install Jenkins on Fedora/CentOS
To install Jenkins on Fedora, procedure is similar. Add repository, install Jenkins, then start Jenkins. Java is also required but for Fedora install command will install Java as well alongside with Jenkins. You can use these commands:
For repositories:
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
To install Jenkins and Java:
sudo dnf upgrade && sudo dnf install jenkins java
To install Java on CentOS:
sudo yum install java-1.8.0-openjdk-devel
And to install Jenkins:
curl --silent --location http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo | sudo tee /etc/yum.repos.d/jenkins.repo
sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
sudo yum install jenkins
Commands to start Jenkins and to check it’s status are same as for other distros:
sudo service jenkins start
sudo systemctl status jenkins
Accessing and configuring Jenkins
Once you installed Jenkins, you can access it via browser by typing in the address where the Jenkins is installed - http://youripaddress:8080. The setup wizard will start and the first will be a prompt to unlock Jenkins which asks from you to enter the Administrator password. The password is generated by the wizard and we need to find it in the Jenkins folder.
You can see on the prompt page where the administrator password is located and you can see the password with this command:
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
You’ll get an output like this:
Paste that password and continue. Next screen is asking which plugins to install, the default ones or you’ll choose which one to install. You can go ahead and go with the default ones, but that is up to you.
Next is to create the admin user and after that will come the last step is to add the URL for Jenkins but that can be skipped or just leave it as is and you’re ready to go.
Summary
Let’s summarized what we have demonstrated in this article - we went through the steps on how to install Jenkins on Linux.
We successfully installed Jenkins on various Linux distros(Debian/Ubuntu/Fedora/CentOS) and ran the setup for it so it can start running right away. One note - if you have a firewall active and pre-configured, it can cause issues like Jenkins not to run at all. Solution for that is to add Jenkins in the firewall exceptions and to add inbound rule for the 8080 port.
Also what is good to mention is, since Jenkins uses Java to run all it’s services, it can be resource heavy for one team to run pipelines, builds and tests. For Jenkins to run properly, it needs at least 1 GB of RAM. But for a small team build, it works at best having at least 4GB of RAM with 2 CPU cores or more.
Hope you found the post useful.
Thank you for your time.