The objective off thi project are to:
- Explain the fundamentals and benefits of CI/CD to achieve, build, and deploy automation for cloud-based software products.
- Utilize Deployment Strategies to design and build CI/CD pipelines that support Continuous Delivery processes.
- Utilize a configuration management tool to accomplish deployment to cloud-based servers.
- Surface critical server errors for diagnosis using centralized structured logging.
For your submission, please submit the following:
- The text file named
project urls.txt
contains:- Public Url to GitHub repository (not private) [URL01]
- Public URL for your S3 Bucket [URL02]
- Public URL for your CloudFront distribution [URL03]
- Public URLs to deployed application back-end in EC2 [URL04]
- Public URL to your Prometheus Server [URL05]
The screenshots show challenges that were faced and handled appropriately.
- Job failed because of compile errors. [SCREENSHOT01]
- Job failed because of unit tests. [SCREENSHOT02]
- Job that failed because of vulnerable packages. [SCREENSHOT03]
- An alert from one of your failed builds. [SCREENSHOT04]
- Appropriate job failure for infrastructure creation. [SCREENSHOT05]
- Appropriate job failure for the smoke test job. [SCREENSHOT06]
- Successful rollback after a failed smoke test. [SCREENSHOT07]
- Successful promotion job. [SCREENSHOT08]
- Successful cleanup job. [SCREENSHOT09]
- Only deploy on pushed to
master
branch. [SCREENSHOT10] - Provide a screenshot of a graph of your EC2 instance including available memory, available disk space, and CPU usage. [SCREENSHOT11]
- Provide a screenshot of an alert that was sent by Prometheus. [SCREENSHOT12]
- The pdf file named CI-CD.pdf is a presentaation on the need for CI-CD
- Circle CI - Cloud-based CI/CD service
- Amazon AWS - Cloud services
- AWS CLI - Command-line tool for AWS
- CloudFormation - Infrastrcuture as code
- Ansible - Configuration management tool
- Prometheus - Monitoring tool