Retour au classement

iam-veeramalla/Jenkins-Zero-To-Hero

Pythonyoutube.com/@AbhishekVeeramalla

Install Jenkins, configure Docker as slave, set up cicd, deploy applications to k8s using Argo CD in GitOps way.

argocdcicddockergitopsjenkinskubernetespipeline
Croissance des étoiles
Étoiles
9.9k
Forks
19.4k
Croissance hebdomadaire
Issues
23
5k
févr. 2023mars 2024mai 2025juil. 2026
ArtefactsPyPIpip install jenkins-zero-to-hero
README

Jenkins-Zero-To-Hero

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

YouTube Video -> https://www.youtube.com/watch?v=zZfhAXfBvVA&list=RDCMUCnnQ3ybuyFdzvgv2Ky5jnAA&index=1

Screenshot 2023-02-01 at 5 46 14 PM

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
Screenshot 2023-02-01 at 12 37 45 PM

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).
Screenshot 2023-02-01 at 12 42 01 PM

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

Screenshot 2023-02-01 at 10 56 25 AM

Click on Install suggested plugins

Screenshot 2023-02-01 at 10 58 40 AM

Wait for the Jenkins to Install suggested plugins

Screenshot 2023-02-01 at 10 59 31 AM

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]

Screenshot 2023-02-01 at 11 02 09 AM

Jenkins Installation is Successful. You can now starting using the Jenkins

Screenshot 2023-02-01 at 11 14 13 AM

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.
Screenshot 2023-02-01 at 12 17 02 PM

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://<ec2-instance-public-ip>:8080/restart

The docker agent configuration is now successful.

Dépôts similaires
khuedoan/homelab

Fully automated homelab from empty disk to running services with a single command.

PythonPyPIGNU General Public License v3.0kubernetespxe
homelab.khuedoan.com
9.5k881
devtron-labs/devtron

The only Kubernetes dashboard you need

GoGo ModulesApache License 2.0kuberneteskubernetes-deployment
devtron.ai
5.5k582
akuity/kargo

Application lifecycle orchestration

GoGo ModulesApache License 2.0argocdgitops
kargo.io
3.4k403
Pradumnasaraf/DevOps

I created this repository to keep my learning, notes, and code in one place for various tools in DevOps. Now, it's helping thousands of learners, practitioners, and professionals every day in their DevOps journey.

JavaScriptnpmGNU General Public License v3.0dockerkubernetes
devops.pradumnasaraf.dev
3.2k766
skyhook-io/radar

The missing open source Kubernetes UI. Topology, event timeline, and service traffic — plus resource browsing and Helm management.

GoGo ModulesApache License 2.0argocdcloud-native
radarhq.io
2.6k144
akuity/awesome-argo

A curated list of awesome projects and resources related to Argo (a CNCF graduated project)

Apache License 2.0awesomeawesome-list
akuity.github.io/awesome-argo/
2.5k197
argoproj/argocd-example-apps

Example Apps to Demonstrate Argo CD

Jsonnetargocd
2.1k10.1k
konstructio/kubefirst

The Kubefirst Open Source Platform

GoGo ModulesMIT Licenseawsgitops
docs.konstruct.io
2.1k157
jkroepke/helm-secrets

A helm plugin that help manage secrets with Git workflow and store them anywhere

ShellApache License 2.0helmhelm-plugin
github.com/jkroepke/helm-secrets/wiki
2k154
argoproj-labs/argocd-image-updater

Automatic container image update for Argo CD

GoGo ModulesApache License 2.0argocdkubernetes
argocd-image-updater.readthedocs.io/en/stable/
1.7k363
learning-cloud-native-go/myapp

🚀 Dockerized Go API application with DB migrations, GitOps and Kubernetes Kustomize based CD

GoGo ModulesMIT Licensegolangdocker
1.1k79