Skip to content
/ cicd Public
forked from yankils/hello-world

Learn CI/CD with Jenkins, Maven, Ansible, Docker and K8s

Notifications You must be signed in to change notification settings

jiwonhu/cicd

 
 

Repository files navigation

Learn CI/CD with Jenkins

image

Documenting the learning journey. Took the reference from a course and added my own enhancements and experiments.

Once completed, once a code commit is pushed to Github, Jenkins is triggered to build a Java webapp using Maven. Jenkins job uses Ansible to create a new tomcat container image and pushes it to Dockerhub. In the end, this is deployed on AWS EKS cluster and becomes accessible via a LoadBalancer. This uses 3 EC2 instances and 1 EKS cluster.

1. Setup Jenkins, Maven, Tomcat in 2 VMs. Let Jenkins build a Java project w Github code. Deploy on Tomcat in VM

2. Create a Docker image and deploy tomcat as a container. Automate CD using Docker

3. Using Ansible, push the new image to Dockerhub and deploy a container

4. Create EKS cluster. Deploy as k8s Deployment and expose via LoadBalancer to access

5. Full CI/CD

About

Learn CI/CD with Jenkins, Maven, Ansible, Docker and K8s

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 95.2%
  • Dockerfile 4.8%