
Understand how Git, Jenkins, Maven, Ansible, Docker, and Kubernetes form a complete CI/CD pipeline to build and deploy a Java app on AWS.
Explore building and deploying an application across vm, docker container, and kubernetes cluster using Git, GitHub, Jenkins, Maven, Tomcat, Docker, Ansible, and EKS to implement end-to-end CI/CD pipelines.
Explain continuous integration, continuous delivery, and continuous deployment and how they automate building, testing, and deploying artifacts. Utilize Git, Jenkins, Maven, Ansible, and Kubernetes.
Set up your devops environment on AWS free tier, create a GitHub account to fork the Helloworld Java project, and install Git while monitoring your billing dashboard.
Explore HelloWorld java-based project with modules (server and webapp), docker file, pom.xml for maven builds, and kubernetes deployment using deploy yaml and service yaml; modify jsp and submit pull requests.
Speed up learning in this DevOps course by watching videos at 1.5x, finishing topics before labs, and using Q&A and GitHub docs to map the Java toolset and logical flow.
Set up Jenkins and Maven, integrate them with GitHub and the Java project, pull code to Jenkins, and build with Maven for CI/CD.
Choose Amazon Linux 2 when launching instances in this course to ensure commands work with the Jenkins server setup, as Amazon Linux 2023 may cause issues.
Set up a Jenkins server on an AWS Linux EC2 instance by installing Java 11, Jenkins, starting the service, and accessing the web UI on port 8080.
Create your first Jenkins job as a freestyle project, configure source code management, build triggers, and post-build actions, and run shell commands like echo hello world and uptime.
Install git on the Jenkins instance, install the GitHub plugin, and configure git in Jenkins' global tool settings to integrate GitHub with Jenkins for automated code pulls.
Create a Jenkins freestyle job to pull code from GitHub using git SCM and a repository URL, illustrating forking the repo, public access, and the workspace at /var/lib/jenkins/workspace.
Learn to integrate Maven with Jenkins by configuring Maven and Java on the Jenkins server, setting M2 and M2_HOME, installing the Maven plugin, and validating with mvn -v.
Learn to build a Java project in Jenkins using a Maven project, pulling code from GitHub via pom.xml goals, and producing a webapp.war artifact with clean package.
Learn how to deploy your code to a Tomcat server by setting up an easy instance, installing Tomcat, and configuring a Jenkins job to automate deployment.
Set up a Tomcat server on a Linux EC2 instance with Java 11, install Tomcat 9, configure context.xml and tomcat-users.xml, start services, and access via port 8080.
Learn how to integrate Tomcat with Jenkins by installing the Deploy to container plugin, configuring Tomcat credentials, and deploying a WAR file to a Tomcat server.
Clone a GitHub project, update the index.jsp login form, commit and push changes, build with Maven, and deploy artifacts to a Tomcat server through Jenkins.
Automate build and deploy by configuring Jenkins to trigger on GitHub changes with poll SCM and webhooks. Use cron scheduling to run builds periodically when changes exist.
Set up a Docker host on an Amazon Linux 2 EC2 instance, install and start Docker, and validate with Docker commands; deploy code with Maven into a Docker container.
pull and run a tomcat docker container using the official tomcat image from docker hub, map internal port 8080 to external 8081, and manage docker services and security group rules.
Fix the 404 not found Tomcat error in a docker container by copying webapps from webapps.dist to webapps, then build a dockerfile to persist changes in a custom image.
Write your docker file to build a Tomcat image on CentOS using from, run, workdir, copy, expose 8080, and CMD to start Tomcat with startup.sh; then build and run container.
Create a customized Dockerfile for Tomcat by pulling the official Tomcat image, copying webapps from webapps.disk into webapps, building a demo tomcat image, and running a container on port 8085.
Configure the docker host for Jenkins by creating a dockeradmin user in the docker group and enabling password-based SSH, then set up the Publish Over SSH plugin to deploy artifacts.
Create a Jenkins job that pulls code from GitHub, builds with Maven, and copies war artifacts to the dockerhost using the Publish Over SSH plugin, preparing deployment to a container.
Tomcat dockerfile update demonstrates organizing artifacts and dockerfile in /opt/docker, setting dockeradmin ownership, copying war files, building tomcat:v1 image, and running a container on port 8086 for app access.
Automate end-to-end CI/CD by triggering on Git commits to build, copy artifacts to the Docker host, build a Docker image, and deploy a container automatically, via Jenkins job updates.
Execute a Jenkins CI/CD workflow to automate builds and deployments on Docker containers, using docker stop, docker rm, and docker images, and introduce Ansible for efficient deployment and configuration management.
Learn how Ansible streamlines deployment in a ci-cd pipeline by integrating Jenkins, GitHub, Maven, and Docker Hub to build artifacts, create images, and deploy containers.
Set up an Ansible control mode on an EC2 instance by creating an ansadmin user, enabling password-based SSH, generating SSH keys, and installing Ansible for future docker image orchestration.
Add the DockerHost as a managed node in Ansible, create ansadmin with sudo access, enable password-based authentication, then enable passwordless ssh and verify connectivity via ping and uptime.
Integrate Ansible with Jenkins to copy artifacts onto an Ansible server, create images from the war file, and deploy containers on a Docker host, then push images to Docker hub.
Install Docker on the Ansible system, use artifacts copied by Jenkins, add ansadmin to the docker group, build a Docker image, and run a container exposing port 8081.
Build a docker image from artifacts with an Ansible playbook, tag and commit it to Docker Hub, enabling access for multiple docker hosts.
Push docker images to Docker Hub using an Ansible playbook by logging in, tagging with your docker username, and pushing to a repository you create.
Automate Docker image creation and deployment with Jenkins and Ansible by tagging and pushing images to Docker Hub, using an Ansible playbook to orchestrate pushes and updates.
Create a docker container on docker host with an ansible playbook that pulls the registration app image from docker hub, runs in background, and exposes port 8082 mapped to 8080.
Ansible playbook deploys a docker container by stopping and removing existing container and image, then pulling the latest image and creating a new container. It integrates with Jenkins for CI/CD.
Learn how to automate CI/CD with Jenkins, using Ansible playbooks to build Docker images, deploy containers on a Docker host, and trigger end-to-end pipelines from GitHub.
Learn why Kubernetes offers advantages over Docker Swarm and how to deploy applications as pods in a Kubernetes environment, plus setting up Kubernetes for deployment.
Explore Kubernetes installation methods for production environments, comparing deployment tools (kubeadm, kops, Kubespray) with turnkey cloud solutions and AWS EKS via eksctl.
learn to set up Kubernetes on AWS EKS with eksctl, covering prerequisites such as bootstrap EC2 image and AWS CLI, kubectl and eksctl installation, cluster creation, validation, and lifecycle management.
Provision an EC2 instance as a bootstrap server for eksctl, install the AWS CLI, kubectl, and eksctl, create and attach an IAM role, enabling EKS cluster creation.
Learn to set up a Kubernetes cluster on EKS with eksctl, selecting region, t2 small instances, and minimum and maximum nodes, then verify with kubectl and review cloud formation template.
Deploy Nginx on a Kubernetes cluster by creating a deployment named demo-nginx with two replicas and exposing it via a load balancer on port 80.
Create a pod and a service using a manifest file. Define pod.yml with apiVersion v1, kind Pod, metadata labels, and an nginx container exposing port 80.
Create and expose a Kubernetes pod using a service manifest, specifying apiVersion v1, kind service, metadata, and ports with targetPort, then apply with kubectl and use a load balancer.
Configure pods and services by adding labels and selectors, then apply manifest updates with kubectl to route traffic through the ELB endpoint and verify endpoints.
Learn to design deployment manifests that create pods via deployments, expose them with a load balancer service, and implement rolling updates with the latest image from GitHub.
Create and expose register app pods with deployment and service files, set replicas to three, and access the app through a load balancer on port 8080.
Integrate Kubernetes with Ansible using the bootstrap image, create an ansadmin user, enable password authentication, configure inventory, copy ssh keys, and test connectivity before writing Ansible playbooks.
Create and run ansible playbooks for deployment and service on Kubernetes, deploying the registration app with kubectl apply, using root access and ssh keys, and prep for Jenkins.
Automate Kubernetes deployments by creating a Jenkins freestyle job that runs Ansible playbooks to initialize deployment and service files, then deploys to Kubernetes and verifies pods.
Learn to implement ci cd with git, jenkins, and ansible to build and push the latest docker image from a webapp.war file to Docker Hub, then deploy to Kubernetes.
Enable a seamless CI/CD flow by linking Jenkins with Maven, Azure artifacts, Ansible, and Docker Hub to deploy the latest image to Kubernetes via a rolling update.
Validate the full CI/CD pipeline from code commit to deployment on Kubernetes, updating the war file, pushing images to Docker Hub, and performing a rolling update with Ansible and Jenkins.
Learn how to clean up a Kubernetes environment by terminating deployments and services, deleting cluster nodes with eksctl, and removing remaining AWS resources and volumes.
Install and configure Git on Windows using Git Bash to run Linux commands like ls, cd, and cat, and learn setup with admin privileges and default settings for cross-platform development.
Learn how to create a GitHub account by signing up with a unique username, email, and password, then verify your email to activate the account.
Learn how to create an AWS free tier account, verify payment and identity, and access the AWS management console to prepare for Linux EC2 practice.
If you know various DevOps tools like git, Jenkins, Maven, Ansible, Docker, and Kubernetes and are not sure how collaboratively does it work? Or would you like to set up a complete ci/cd pipeline using various DevOps tools? or are you someone who wishes to know what the logical workflow of a DevOps project is? Then this course is for you. Welcome to the Simple DevOps Project. My name is AR Shankar, and I will be the instructor for this course.
In this course, I have created a complete CI/CD pipeline to run a java application. In this learning journey, you have introduced tools like Github, Jenkins, maven, docker, ansible, and Kubernetes and learned how to integrate these tools to run a project in the real world. I am very much confident that you can able to set up a CI/CD pipeline on your own by the end of this program.
I have over 10+ years of DevOps experience and a deep understanding of this domain. So, I will be teaching you in detail with the step-by-step demonstration.
Who is this course for?
Anyone who wants to build CI/CD pipeline tools on Various DevOps tools
Anyone who wants to Enhance their skills in the DevOps domain