Jenkins is an open-source automation server that is used to automate the building, testing, and deployment of software projects
Jenkins is a popular tool for continuous integration and continuous delivery (CI/CD) pipelines. It can be used to automate the entire software delivery process, from building and testing code to deploying it to production.
Jenkins can be configured through a web-based interface, and it supports a variety of programming languages, tools, and platforms. It can run on Windows, Linux, and macOS, and can be deployed on-premises or in the cloud.
Installation of Jenkins
Step 1:
Launch an EC2 instance: Log in to the AWS Management Console, navigate to the EC2 dashboard, and launch a new EC2 instance. Choose an Ubuntu Amazon Machine Image (AMI) to start.

Blog on how to launch an EC2 instance on AWS : Click here
Step 2:
Make sure that the security group associated with your EC2 instance allows incoming traffic on port 8080, which is the default port for Jenkins. You can do this by creating a new inbound rule in the security group.
Step 3:
Connect to the EC2 instance using SSH depending on your operating system. You can find the connection details on the EC2 dashboard.
You can install MobaXterm to SSH into your EC2 instance: Click here
Step 4:
Install Java: Jenkins requires Java to run, so you will need to install Java on your EC2 instance.
Update your system
sudo apt update
Install java
sudo apt install openjdk-11-jre
Confirm installation
java -version
Step 5:
Install Jenkins
curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io-2023.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-stable binary/ | sudo tee \
/etc/apt/sources.list.d/jenkins.list > /dev/null
sudo apt-get update
sudo apt-get install jenkins
Step 6:
Start Jenkins
sudo systemctl enable jenkins
sudo systemctl start jenkins
sudo systemctl status jenkins
Once Jenkins is up and running, you can access it by navigating to your EC2 instance’s public IP address followed by port 8080
CI/CD
CI/CD stands for Continuous Integration/Continuous Deployment. It is a software development practice that involves automating the processes of integrating code changes, testing them, and deploying them to production environments. The primary goal of CI/CD is to enable faster and more reliable software delivery by streamlining the development workflow and reducing manual errors.
These pipelines are often configured to run on every code commit, ensuring that any changes are rapidly validated and made available for deployment.
Conclusion
Whether you’re a developer or a DevOps engineer, Jenkins is an essential tool for automating software development workflows and improving software delivery. By leveraging the power of Jenkins on AWS, you can streamline your software delivery process, reduce errors, and accelerate your time to market.