Skip to content

A complete CI/CD pipeline to integrate a pushed code and deploy or rollback accordingly.

Notifications You must be signed in to change notification settings

Ahmed-Hodhod/Fully-automated-Application-Deployment-CI-CD-Pipeline

Repository files navigation

Fully Automated Application Deployment CI/CD Pipeline using CircleCi

This project is meant to implement a complete CICD pipeline to start once there is a push to the master branch. The pipeline is nearly 12 jobs running on the code to make sure it is bug-free and reliable before deployment.

The final output in bullet points:

  • Deploy Infrastructure using AWS CLI commands and CloudFromation Templates.
  • Configure the provisioned backend EC2 instance using Ansible Playbooks and Roles.
  • Migrate the Database to an RDS-Postgres database on AWS and integrate it into the provisioned EC2.
  • Deploy application Frontend UI and host it on AWS S3 as a static website.
  • Deploy application Backend Code on EC2 and open PM2 server on port 3030 using Ansible.
  • Smoke Test the whole deployment process to ensure the application is working as intended.
  • Promote the application on CloudFront CDN utilizing (Blue/Green) Deployment Strategy.

The pipeline scheme

The pipeline flow

A push reposity passing all pipeline jobs

successful push to repo

A successful rollback on failure

Running API

Setting circleci to send us emails

CircleCI Notification

Cloudfront distribution

Cloudfront Distribution

Testing the website after deployment

Functioning website

The API is running successfully

Running API

Listing Employees through a raw API request

Running API

Configuring Prometheus for monitoring and troubleshooting

Prometheus

An alert from Prometheus [EC2 went down]

Prometheus Alert

Built With

About

A complete CI/CD pipeline to integrate a pushed code and deploy or rollback accordingly.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published