This project utilizes Jenkins pipelines to automate infrastructure provisioning, application deployment, and integration using Terraform, Ansible, Docker, Jenkins, Git, OpenShift CLI (oc), SonarQube, and PostgreSQL. It consists of two main pipelines orchestrated through Jenkins:
-Created a GitHub repository (CloudDevOpsProject) for centralized collaboration, initialized with a README file, and managed version control for all deliverables.
-Developed a Dockerfile to containerize the application, ensuring portability and consistency across environments.
-Automated the provisioning of AWS resources, including VPC, Subnets, Security Groups, and EC2 instances, using modular Terraform scripts for scalability and reusability.
-Configured S3 for Terraform backend state management and integrated CloudWatch for application monitoring.
-Created Ansible playbooks with roles to configure EC2 instances, including the installation of Docker, Java, Jenkins, and SonarQube, and setting up necessary environment variables.
-Designed a Jenkins pipeline using a Jenkinsfile, incorporating stages for Git checkout, unit testing, JAR building, SonarQube code analysis, Docker image building, image pushing to a registry, and deploying the application on OpenShift.
-Leveraged shared Jenkins libraries and Jenkins slaves for modularity and efficiency.
-Provided comprehensive documentation, including setup instructions, architecture diagrams, AWS integration details, and troubleshooting guidelines.