DevOps - CI/CD Pipeline Project

CI/CD pipeline using various DevOps Tools to deploy a simple Tomcat project on AWS.

ci-cd-pipeline.png

  • Installed Jenkins, Ansible, Docker, Git, Maven, and Tomcat on various AWS EC2 servers.
  • Created various Jenkin jobs along with Git version controlling for Continuous Integrations.
  • Automated Docker containers and SSH to other servers using Ansible playbooks for Continuous Delivery.

PROCESS

STEPS 1

  • Create and Launch AWS Linux Instance to manage Jenkins
  • Connect to Linux Server through SSH
  • Install JAVA on Linux Server
  • Install Jenkins, Maven, and GIT to have the job for Deployment

STEPS 2

  • Create a new Linux server (App Server) in AWS for Deploying App
  • Create User in Server which can manage deploy
  • Connect Jenkins server to App Server through SSH Plugin
  • Create a Jenkin Job which deploys app into App Server

STEPS 3

  • Install Docker in App Server
  • Create a Docker file that Installs TomCat Server and Deploy App
  • Create Image from the file and deploy into Container
  • Access the App through public Ip: port which is running on Container

STEPS 4

  • Install Ansible and its need for Deployment
  • Create Ansible Playbook to automate all docker related commands
  • Fix the problems of stopping and starting containers through the Ansible YAML file
  • Create SSH Key and hosts file for establishing a connection through Ansible
  • Pass the Ansible Playbook commands into Jenkins Job for automatic Deployment in the App server

STEPS 5

  • Create another Linux App Server B through AWS
  • Create User in Server which can manage deploy
  • Establish a connection to App Server B from App server A through Ssh keys
  • Ping the App Server B from Server A through Ansible command for connection check
  • Develop a YAML playbook file that pushes the docker image to Docker Hub in Server A
  • Modify the Jenkins job to deploy the App into Server B through Ansible Commands

STEPS 6

  • Adding Post-build action run automated tests after new Code successfully Deployed
  • What is Pipeline and understand the basics of Jenkin Pipeline
  • Creating the JenkinsFile with the complete job configuration design to run end to the end deployment process
  • Checking the JenkiFile into Code repo and automate the complete CI/CD process through Jenkins!!

  • 🗂️GitHub link: https://github.com/AkhilMovva/Simple-DevOps-Project

blog

copyright©2021AkhilMovva all rights reserved