Jenkins OnPrem Project Architectural Diagram

Jenkins Server & Worker Commands
Pipeline
pipeline {
environment {
dockerimagename = "thakishore/nodeapp"
dockerImage = ""
}
agent {
label 'qa' // Ensure the node has Docker installed
}
stages {
stage('Checkout Source') {
steps {
git credentialsId: 'github-credentials',
url: 'https://github.com/thakishorekumar/nodeapp.git',
branch: 'master' // or 'main' - check your default branch
}
}
stage('Building image') {
steps{
script {
dockerImage = docker.build dockerimagename
}
}
}
stage('Pushing Image') {
environment {
registryCredential = 'dockerhublogin'
}
steps{
script {
docker.withRegistry( 'https://registry.hub.docker.com', registryCredential ) {
dockerImage.push("v1.2")
}
}
}
}
stage('Deploying App to Kubernetes') {
steps {
script {
kubernetesDeploy(configs: "deploymentservice.yml", kubeconfigId: "kubernetes")
}
}
}
}
}
deploymentservice.yml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nodeapp-deployment
labels:
app: nodeapp
spec:
replicas: 1
selector:
matchLabels:
app: nodeapp
template:
metadata:
labels:
app: nodeapp
spec:
containers:
- name: nodeserver
image: thakishore/nodeapp:v1.2
ports:
- containerPort: 3000
---
apiVersion: v1
kind: Service
metadata:
name: nodeapp-service
spec:
selector:
app: nodeapp
type: ClusterIP
ports:
- protocol: TCP
port: 5000
targetPort: 3000
dockerfileFROM node:latest WORKDIR /usr/src/app COPY package.json ./ RUN npm install COPY . . EXPOSE 4000 CMD [ "node", "index.js" ]index.js
var express = require('express');
var app = express();
app.get('/', function (req, res) {
res.send('{ "response": "Hello From Rajkumar and This is Node App!" }');
});
app.get('/will', function (req, res) {
res.send('{ "response": "Hello World" }');
});
app.get('/ready', function (req, res) {
res.send('{ "response": " Great!, It works!" }');
});
app.listen(process.env.PORT || 3000);
module.exports = app;
Execute shell
#!/bin/bash
echo "Hello from Jenkins!"
DATE=$(date)
echo "Today is: $DATE"
ls -l
hostname
cd /var/www/html/
rm *.html
pwd
wget https://github.com/thakishorekumar/jenkinsdemo/blob/main/index.nginx-debian.html
Jenkins Server Setup Commands








1 sudo apt-get install open-vm-tools-desktop -y
2 sudo hostnamectl set-hostname jenkins
3 sudo nano /etc/hosts
4 sudo apt update
5 sudo apt install fontconfig openjdk-21-jre
6 java -version
7 sudo wget -O /etc/apt/keyrings/jenkins-keyring.asc https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key
8 echo "deb [signed-by=/etc/apt/keyrings/jenkins-keyring.asc]" https://pkg.jenkins.io/debian-stable binary/ | sudo tee /etc/apt/sources.list.d/jenkins.list > /dev/null
9 sudo apt update
10 sudo apt install jenkins
11 sudo systemctl enable jenkins
12 sudo systemctl start jenkins
13 sudo systemctl status jenkins
14 history
15 ifconfig
16 ping 192.168.1.41
17 ssh 192.168.1.41
18 systemctl status ufw
19 systemctl stop ufw
20 systemctl disable ufw
21 ssh 192.168.1.41
22 telnet 192.168.1.41
23 telnet 192.168.1.41 22
24 sestatus
25* sudo
26 systemctl status ufw
27 ssh 192.168.1.40
28 netstat -anp | grep ssh
29 netstat -tlpn | grep ssh
30 sudo netstat -tlpn | grep ssh
31 systemctl status ssh
32 systemctl status ssd
33 systemctl status sshd
34 apt install openssh-server
35 sudo apt install openssh-server
36 systemctl status ssh
37 systemctl start ssh
38 systemctl enable ssh
39 ssh 192.168.1.40
40 ssh 192.168.1.41
41 sudo ps -ef | grep java
42 netstat -anp | grep 50000
43 sudo netstat -anp | grep 50000
44 ls
45 history
Jenkins Agent
1 nano /etc/ssh/sshd_config
2 systemctl restart ssh
3 exit
4 sudo ps -ef | grep java
5 netstat -tlpn | grep java
6 netstat -tlpn | grep jar
7 netstat -tlpn | grep slave
8 netstat -tlpn
9 netstat -anp | grep 50000
10 netstat -anp
11 sudo apt install nginx
12 cat /var/www/html/index.nginx-debian.html
13 nano /var/www/html/index.nginx-debian.html
14 systemctl restart nginx
15 nano /var/www/html/index.nginx-debian.html
16 wget https://github.com/thakishorekumar/jenkinsdemo/blob/main/index.nginx-debian.html
17 ls
18 cd /opt/jenkins-slave/workspace/jenkins-github
19 ls
20 cd /var/www/html/
21 ls
22 cat index.nginx-debian.html
23 cd /opt/jenkins-slave/workspace/jenkins-github
24 ls
25 cat index.nginx-debian.html
26 curl -O https://github.com/thakishorekumar/jenkinsdemo/blob/main/index.nginx-debian.html
27 apt install curl
28 curl -O https://github.com/thakishorekumar/jenkinsdemo/blob/main/index.nginx-debian.html
29 ls
30 cat index.nginx-debian.html
31 rm index.nginx-debian.html
32 rm index.nginx-debian.html.1
33 cat index.nginx-debian.html
34 curl -O https://github.com/thakishorekumar/jenkinsdemo/blob/main/index.nginx-debian.html
35 ls
36 cat index.nginx-debian.html
37 history
Deployment Images
Step 1:

Step 2:

Step 3:

Step 4:

Step 5:

Step 6:

Step 7:

Step 8:
