Jenkins installation on CentOS or RHEL or Fedora |
Simple instructions I've made for reference, which I've used.
What are the Pre-requisites for the Jenkins installation
- Good speed of Internet
- Either of the platforms will be working:
- Vagrant installed VirtualBox installed to pull CentOS7 box
- AWS RHEL instance up and running
Bring up the CentOS/7 box (optional)
Note: Ignore this section if you have a Cloud instance ready.
Step 1:
Create your own CentOS7 vagrant box with the following DSL Vagrantfile:
Now based on the above Vagrantfile, bring up the vagrant CentOS box:
Now all set to go, Connect to the vagrant box using PuTTY, SSH-> Auth -> centos.ppk file. Create an aws instance and connect it with the putty or git bash client.
Step 2: Switch to root user, download the Jenkins installer using wget, you can find the stable and latest version of Jenkins RPM File here you can see the latest at the bottom of the page. and the installation with rpm command as:
Recent changes in the Ubuntu publick key authentication on the debain package manager.
Once the Jenkins installation completed we need to run with JRE, We have two choices - Open JRE, or Oracle JRE to run Jenkins CI. JRE is part of JDK so let's install Open JDK. Using `yum` repo we can install the OpenJDK which also includes Open JRE.
Now we are done with the installation part move to bring up the Jenkins CI service.
Let's check the status of the Jenkins service:
By default Jenkins runs on the 8080 port combination with the IP address as shown:
http://<jenkins ip> :8080/
On my Vagrant box I can access the Jenkins URL as an example:
http://192.168.33.100:8080/
Wow!! Lovely, We are ready to operate on Jenkins now you can set the value present Password in the given path and copy it and reset the user profile and password values which will be overrides the default/one time password.
Click on the ' Save and Continue ' button then it navigates to 'Instance Configuration' page, shows Jenkins URL.
Slave configuration you can use the following shell script:
Executed on node1 example screenshot Enjoy the Continuous integration fun with Jenkins!!
Vagrant.configure(2) do |config| config.vm.box = "centos/7" config.vm.boot_timeout=600 config.vm.host_name = "mydev.devopshunter.com" config.vm.network "private_network", ip: "192.168.33.100" config.vm.synced_folder "C:/Softwares", "/u01/app/software" config.vm.provider "virtualbox" do |vb| vb.cpus = "2" vb.memory = "2048" end end
Now based on the above Vagrantfile, bring up the vagrant CentOS box:
vagrant up
Now all set to go, Connect to the vagrant box using PuTTY, SSH-> Auth -> centos.ppk file. Create an aws instance and connect it with the putty or git bash client.
Step 2: Switch to root user, download the Jenkins installer using wget, you can find the stable and latest version of Jenkins RPM File here you can see the latest at the bottom of the page. and the installation with rpm command as:
sudo -s #install wget if not installed on cloud instances yum install wget epel-release daemonize -y # Latest version of Jenkins requires daemonize package dependency wget https://pkg.jenkins.io/redhat/jenkins-2.192-1.1.noarch.rpm rpm -ivh jenkins-2*.rpm
Jenkins installation using rpm option |
Jenkins installation on Ubuntu
Note: This section added in the year July 2022.Recent changes in the Ubuntu publick key authentication on the debain package manager.
sudo apt update sudo apt install default-jre curl -fsSL https://pkg.jenkins.io/debian/jenkins.io.key | sudo tee /usr/share/keyrings/jenkins-keyring.asc > /dev/null echo deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list > /dev/null sudo apt-get update sudo apt-get install jenkins systemctl status jenkins
How to install Open JDK on CentOS?
Once the Jenkins installation completed we need to run with JRE, We have two choices - Open JRE, or Oracle JRE to run Jenkins CI. JRE is part of JDK so let's install Open JDK. Using `yum` repo we can install the OpenJDK which also includes Open JRE.
yum install -y java #Check Java installation successful java -version
Now we are done with the installation part move to bring up the Jenkins CI service.
Starting your Jenkins CI master on CentOS7
Every RHEL flavor Linux versions support service command to run the service in the background and will be executed when a software added to the system, systemctl will help us to control it for start or stop or restart and to check the status of the service.
service jenkins start chkconfig jenkins on
Let's check the status of the Jenkins service:
service jenkins status -l
Check the Jenkins service status |
How to accessing your Jenkins CI URL?
By default Jenkins runs on the 8080 port combination with the IP address as shown:
http://<jenkins ip> :8080/
On my Vagrant box I can access the Jenkins URL as an example:
http://192.168.33.100:8080/
Jenkins first-time UI |
How to create First Admin user on Jenkins?
Here is the sample user profile setting details:
- User name: ci_admin
- Password : welcome1 [you can provide much stronger one for your CI project]
- Confirm Password : welcome1
- Full name : Continuous Integration admin
- Email: ignore [optional]
Create First Admin User sample |
Click on the ' Save and Continue ' button then it navigates to 'Instance Configuration' page, shows Jenkins URL.
How to configure Remote Agent using WebSocket?
1. Please enter the "Name" that uniquely identifies an agent in the Jenkins domain.
2. Enter Remote root directory such as /workspace
3. Enter the "Label" value this is the hook to run remotely any build.
4. Under Launching method
Launch agent by connecting it to the controller
choose -> Use WebSocket tic the checkbox.
Jenkins Slave WebSocket Configuration |
Save the configuration by hitting "save" button.
#!/bin/bash # Ensure JDK installed on the agent box AGENT_CMD='java -jar agent.jar -jnlpUrl http://mstr:8080/computer/node1/jenkins-agent.jnlp -secret 5650304d6aae3ebf424479e20978a7cd1408e3f539e243cbd309abbccd88a3 -workDir "/tmp/jenkins"' nohup $AGENT_CMD > node1-vt-agent.out 2>&1 & # print the log output tailf node1-vt-agent.out
Executed on node1 example screenshot Enjoy the Continuous integration fun with Jenkins!!
No comments:
Post a Comment