Exploring Jenkins
- So lets get started by installing jenkins. Refer Here
- Today we will be using a linux machine to install jenkins which has ubuntu distribution
- This setup will be done on AWS with 2 vCPUs and 8 GB of RAM
- Jenkins History

- Installing Jenkins on Ubuntu 18.04:
- Login into the jenkins using ssh
- Lets see the list of users on the linux machine

- To install jenkins we need to java installed for java requirements Refer Here
- Lets try to install java 11

- Install by executing the command
sudo apt install openjdk-11-jdk -y - Install jenkins by executing the below commands
sudo apt update wget -q -O - https://pkg.jenkins.io/debian-stable/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-get update sudo apt-get install jenkins
- Now lets see the list of the users

- A New user called as jenkins is created and the home directory of this user is
/var/lib/jenkins - Jenkins runs on port 8080 so navigate to
http://<public-ip>:8080 - Follow the installation steps as discussed in the classroom.

Basic Jenkins Terminology
- Project/Job: This is where we define the steps to be executed.
Exploring & understanding
- Steps

- When i run/build a project in jenkins it is running as a newly created jenkins user
- So jenkins is nothing but a scheduler which runs the linux commands as some linux user.
- To make the life simple, jenkins creates some ui components which are friendly towards building a project (CI/CD)
Manual Scenario 1
-
Cloning the project from git. For this lets take a project called as spring pet clinic Refer Here
-
To clone a project from git we require
- git to be installed
- probably internet connection
- some disk space
-
Create a Jenkins job and in the build step type git clone command.
What is Jenkins Plugin
- Lets try to clone the spring pet clinic repository as mentioned above
- Lets look at git plugin

- plugin is a UI developed which will translate into low level commands. These UI will help in doing the job easily.
Lets try to build java 11 project
- clone the git repository Refer Here and cd into java-11-projects then execute
mvn package
- To make this command work install maven
sudo apt install maven -y
- If we can execute the command manually on the linux machine it will work from jenkins as well.
Lets try to execute sudo commands from jenkins
- The commands to be executed are
sudo apt update
- Lets create the jenkins job

- The Status is

- Just because commands work on the system doesnot mean they will work from jenkins. To evaluate whether they work or not we need to work with jenkins user
- Now added jenkins user to sudoers file with NOPASSWD option
