Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shahul-hameedk-1115/jenkins-sample-projects
This repo demonstrates setting up a DevOps pipeline with Jenkins, Docker agents, and Kubernetes, including CI/CD automation and deployment. 🚀
https://github.com/shahul-hameedk-1115/jenkins-sample-projects
cicd docker jenkins kubernetes python
Last synced: 1 day ago
JSON representation
This repo demonstrates setting up a DevOps pipeline with Jenkins, Docker agents, and Kubernetes, including CI/CD automation and deployment. 🚀
- Host: GitHub
- URL: https://github.com/shahul-hameedk-1115/jenkins-sample-projects
- Owner: shahul-hameedk-1115
- License: mit
- Created: 2025-01-29T07:53:58.000Z (1 day ago)
- Default Branch: main
- Last Pushed: 2025-01-29T08:04:29.000Z (1 day ago)
- Last Synced: 2025-01-29T08:35:16.243Z (1 day ago)
- Topics: cicd, docker, jenkins, kubernetes, python
- Language: Python
- Homepage:
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Jenkins-Sample-Deployment
Are you looking forward to learn Jenkins right from Zero(installation) to Hero(Build end to end pipelines)? then you are at the right place.
## Installation on EC2 Instance
Install Jenkins, configure Docker as agent, set up cicd, deploy applications to k8s and much more.
## AWS EC2 Instance
- Go to AWS Console
- Instances(running)
- Launch instances### Install Jenkins.
Pre-Requisites:
- Java (JDK)### Run the below commands to install Java and Jenkins
Install Java
```
sudo apt update
sudo apt install openjdk-17-jre
```Verify Java is Installed
```
java -version
```Now, you can proceed with installing Jenkins
```
curl -fsSL https://pkg.jenkins.io/debian/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 binary/ | sudo tee \
/etc/apt/sources.list.d/jenkins.list > /dev/null
sudo apt-get update
sudo apt-get install jenkins
```**Note: ** By default, Jenkins will not be accessible to the external world due to the inbound traffic restriction by AWS. Open port 8080 in the inbound traffic rules as show below.
- EC2 > Instances > Click on
- In the bottom tabs -> Click on Security
- Security groups
- Add inbound traffic rules as shown in the image (you can just allow TCP 8080 as well, in my case, I allowed `All traffic`).### Login to Jenkins using the below URL:
http://:8080 [You can get the ec2-instance-public-ip-address from your AWS EC2 console page]
Note: If you are not interested in allowing `All Traffic` to your EC2 instance
1. Delete the inbound traffic rule for your instance
2. Edit the inbound traffic rule to only allow custom TCP port `8080`
After you login to Jenkins,
- Run the command to copy the Jenkins Admin Password - `sudo cat /var/lib/jenkins/secrets/initialAdminPassword`
- Enter the Administrator password
### Click on Install suggested plugins
Wait for the Jenkins to Install suggested plugins
Create First Admin User or Skip the step [If you want to use this Jenkins instance for future use-cases as well, better to create admin user]
Jenkins Installation is Successful. You can now starting using the Jenkins
## Install the Docker Pipeline plugin in Jenkins:
- Log in to Jenkins.
- Go to Manage Jenkins > Manage Plugins.
- In the Available tab, search for "Docker Pipeline".
- Select the plugin and click the Install button.
- Restart Jenkins after the plugin is installed.
Wait for the Jenkins to be restarted.
## Docker Slave Configuration
Run the below command to Install Docker
```
sudo apt update
sudo apt install docker.io
```
### Grant Jenkins user and Ubuntu user permission to docker deamon.```
sudo su -
usermod -aG docker jenkins
usermod -aG docker ubuntu
systemctl restart docker
```Once you are done with the above steps, it is better to restart Jenkins.
```
http://:8080/restart
```The docker agent configuration is now successful.