How to install Jenkins on CenOS 8

How To Install Jenkins On CentOS 8

On this article we will discuss about Jenkins Installation on Linux CentOS 8 operating system. Jenkins installation on Ubuntu 20.04 LTS opearting system has been discussed on this article.

Introduction

Jenkins is free and the most popular open-source for automation server. It is used to automate the parts of software development related to building, testing, and deploying, facilitating continuous integration and continuous delivery (CI/CD) pipeline. On this tutorial we will use the last stable version of Jenkins which was reaseld on July 2, 2020.

Jenkins Installation On CentOS 8

The Jenkins installation will be consisting of several steps, namely :

  1. Prerequisite
  2. Installing Jenkins
  3. Enabling Firewall for Jenkins
  4. Setting Up Jenkins

Prerequisite

There are several prerequisites to be fulfilled if we want to install Jenkins.

Minimum hardware requirements:
256 MB of RAM
1 GB of drive space (although 10 GB is a recommended minimum if running Jenkins as a Docker container)

Recommended hardware configuration for a small team:
1 GB+ of RAM
50 GB+ of drive space

Software requirements:
Jenkins requires Java versions 8 or 11 on the system. For OpenJDK installation on CentOS 8, can be found on How To Install Java (OpenJDK 11) On CentOS 8 article. Our system has already java installed, we can verify it by submitting command line : java -version.

[ramans@otodiginet ~]$ java -version
 openjdk version "11.0.8" 2020-07-14 LTS
 OpenJDK Runtime Environment 18.9 (build 11.0.8+10-LTS)
Java version
Java version

Installing Jenkins

Jenkins installation will be started by adding Jenkins repository until starting its services.

Adding Jenkins Repository

Jenkins is not included in the default CentOS software repositories, so we have to add it manually then importing its GPG key by submitting command line : wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo and rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key.

[ramans@otodiginet ~]$ sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
 [sudo] password for ramans: 
 --2020-12-22 18:58:03--  https://pkg.jenkins.io/redhat-stable/jenkins.repo
 Resolving pkg.jenkins.io (pkg.jenkins.io)… 151.101.10.133, 2a04:4e42:2::645
 Connecting to pkg.jenkins.io (pkg.jenkins.io)|151.101.10.133|:443… connected.
 HTTP request sent, awaiting response… 200 OK
 Length: 85
 Saving to: ‘/etc/yum.repos.d/jenkins.repo’
 /etc/yum.repos.d/jenkins. 100%[===================================>]      85  --.-KB/s    in 0s      
 2020-12-22 18:58:04 (1.56 MB/s) - ‘/etc/yum.repos.d/jenkins.repo’ saved [85/85]
 [ramans@otodiginet ~]$ sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
Add Jenkins repository and import GPG key.
Adding Jenkins Repository

Installing Jenkins

After Jenkins repository has been added to our system, the we will install it by submitting command line : yum install jenkins.

[ramans@otodiginet ~]$ sudo yum install jenkins
 Jenkins-stable                                                         18 kB/s |  19 kB     00:01    
 Last metadata expiration check: 0:00:01 ago on Tue 22 Dec 2020 06:59:11 PM PST.
 Dependencies resolved.
  Package                Architecture          Version                    Repository              Size
 Installing:
  jenkins                noarch                2.263.1-1.1                jenkins                 64 M
 Transaction Summary
 Install  1 Package
 Total download size: 64 M
 Installed size: 64 M
 Is this ok [y/N]: y
 Downloading Packages:
 jenkins-2.263.1-1.1.noarch.rpm                                         87 kB/s |  64 MB     12:30    
 Total                                                                  87 kB/s |  64 MB     12:30     
 Running transaction check
 Transaction check succeeded.
 Running transaction test
 Transaction test succeeded.
 Running transaction
   Preparing        :                                                                              1/1 
   Running scriptlet: jenkins-2.263.1-1.1.noarch                                                   1/1 
   Installing       : jenkins-2.263.1-1.1.noarch                                                   1/1 
   Running scriptlet: jenkins-2.263.1-1.1.noarch                                                   1/1 
   Verifying        : jenkins-2.263.1-1.1.noarch                                                   1/1 
 Installed products updated.
 Installed:
   jenkins-2.263.1-1.1.noarch                                                                          
 Complete!
Jenkins Installation on CentOS 8
Jenkins Installation on CentOS 8

Starting Jenkins Service

Once the installation process is complete, then we have to start the Jenkins service and enable it to start on system boot, by submitting command line : sudo systemctl start | enable | status jenkins.

[ramans@otodiginet ~]$ sudo systemctl start jenkins
 [ramans@otodiginet ~]$ sudo systemctl enable jenkins
 jenkins.service is not a native service, redirecting to systemd-sysv-install.
 Executing: /usr/lib/systemd/systemd-sysv-install enable jenkins
 [ramans@otodiginet ~]$ sudo systemctl status jenkins
 ● jenkins.service - LSB: Jenkins Automation Server
    Loaded: loaded (/etc/rc.d/init.d/jenkins; generated)
    Active: active (running) since Tue 2020-12-22 19:20:14 PST; 15s ago
      Docs: man:systemd-sysv-generator(8)
     Tasks: 32 (limit: 49614)
    Memory: 246.8M
    CGroup: /system.slice/jenkins.service
            └─6996 /etc/alternatives/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true ->
 Dec 22 19:20:12 otodiginet systemd[1]: Starting LSB: Jenkins Automation Server…
 Dec 22 19:20:13 otodiginet runuser[6975]: pam_unix(runuser:session): session opened for user jenkins >
 Dec 22 19:20:14 otodiginet runuser[6975]: pam_unix(runuser:session): session closed for user jenkins
 Dec 22 19:20:14 otodiginet jenkins[6968]: Starting Jenkins [  OK  ]
 Dec 22 19:20:14 otodiginet systemd[1]: Started LSB: Jenkins Automation Server.
Starting Jenkins Service
Starting Jenkins Service

Enabling Firewall for Jenkins

We have to open port that is used by Jenkins daemon to enable the connection from outside the system. These step is done by submitting command line :

ramans@otodiginet ~]$ sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
 success
 [ramans@otodiginet ~]$ sudo firewall-cmd --reload
 success
Enabling Firewall for Jenkins
Enabling Firewall for Jenkins

Setting Up Jenkins

After all installation steps is completed done successfully, then we have to configure it via browser. To start the Jenkins setup process, we have to open web browser and type the domain or server’s IP address followed by port 8080. To retrieve temporary admin password, we will get it from /var/lib/jenkins/secrets/initialAdminPassword file.

 [ramans@otodiginet ~]$ sudo more /var/lib/jenkins/secrets/initialAdminPassword
 [sudo] password for ramans: 
 d4ee060068484324ad56b73c0795ed66
 
Jenkins web initial admin password
Jenkins web initial admin password
Jenkins web initial admin password
Unlock Jenkins web portal
Customizing Jenkins
Customizing Jenkins
Jenkins Getting Started
Jenkins Getting Started
Jenkins Crate First Admin User
Jenkins Crate First Admin User
Jenkins Instance Configuration
Jenkins Instance Configuration
Jenkins is r eady to be used
Jenkins is r eady to be used
Jenkins Welcome page
Jenkins Welcome page
Jenkins users
Jenkins users

Conclusion

On this article we have completed the tutorial about Jenkins installation on CentOS 8 successfully. For further information about Jenkins, it can be discovered on Jenkins website. Have a nice weekend.

Share this article via :

Leave a Reply

Your email address will not be published. Required fields are marked *