Build CI/CD Pipelines, Monitoring & Logging
Give Your Application Auto-Deploy Superpowers
UdaPeople(Cloud-Based Software)
- Udapeople
- Prerequisites
- Built With
- Section 1: Selling CI/CD to your Team/Organization
- ection 2: Deploying Working, Trustworthy Software
- Section 3: Turn Errors into Sirens
- Files Included
- License
A CI-CD pipeline for a client/server TypeScript project
hosted on AWS EC2 and CloudFront and monitored with Prometheus,
with Slack and E-mail notifications used for alerts.
"the fictional "UdaPeople" Product is (Cloud-Based Software) Product, a revolutionary concept in Human Resources which promises to help small businesses care better for their most valuable resource: their people."
- 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
CRITERIA | MEETS SPECIFICATIONS | Files |
---|---|---|
Explain the fundamentals and benefits of CI/CD to achieve, build, and deploy automation for cloud-based software products. | The CI/CD benefits proposal contains essential benefits of CI/CD, and describes the business context that will benefit from the automation tools. Explanation should include benefits that translate to revenue and cost for the business. | presentation.pdf |
CRITERIA | MEETS SPECIFICATIONS | Files |
---|---|---|
Utilize Deployment Strategies to design and build CI/CD pipelines that support Continuous Delivery processes. | A public git repository with your project code. | URL01 https://github.com/mohamedelfal/udapeople-cicd/ |
Evidence of code-based CI/CD configuration in the form of yaml files in your git repository. | config.yml | |
Console output of various pre-deploy job failure scenarios: | ||
Build Jobs that failed because of compile errors. | SCREENSHOT01 | |
Failed unit tests. | SCREENSHOT02 | |
Failure because of vulnerable packages. | SCREENSHOT03 | |
An alert from one of your failed builds. | SCREENSHOT04 e-mail Notification SCREENSHOT04 slack Notification |
|
Evidence in your code that: Compile errors have been fixed. Unit tests have been fixed. All critical security vulnerabilities caught by the “Analyze” job have been fixed |
.circleci backend frontend |
|
Utilize a configuration management tool to accomplish deployment to cloud-based servers. | Console output of appropriate failure for infrastructure creation job (using CloudFormation). | SCREENSHOT05 |
Console output of a smoke test job that is failing appropriately. | SCREENSHOT06 | |
Console output of a successful rollback after a failed smoke test. | SCREENSHOT07 | |
Console output of successful promotion of new version to production in CloudFront. | SCREENSHOT08 | |
Console output of successful cleanup job that removes old S3 bucket and EC2 instance. | SCREENSHOT09 | |
Evidence that the deploy jobs only happen on the master branch. |
SCREENSHOT10 | |
Evidence of deployed and functioning front-end application in an S3 bucket . | [URL02] URL02_SCREENSHOT |
|
Evidence of deployed and functioning front-end application in CloudFront. | URL03_SCREENSHOT URL03-2_SCREENSHOT |
|
Evidence of healthy back-end application. | [URL02] URL04_SCREENSHOT |
CRITERIA | MEETS SPECIFICATIONS | Files |
---|---|---|
Surface critical server errors for diagnosis using centralized logging. | Evidence of Prometheus Server. | [URL05] URL05_SCREENSHOT |
Evidence that Prometheus is monitoring memory, cpu and disk usage of EC2 instances. | SCREENSHOT11 CPU SCREENSHOT11 Disk Usage SCREENSHOT11 Memory |
|
Evidence that Prometheus and AlertManager send alerts when certain conditions exist in the EC2 instance. | SCREENSHOT12 |
- .circleci
- backend
- frontend
- util
- .gitignore
- Screenshots
- presentation.pdf
- urls.txt
- README.md
- LICENSE.md
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License