A CI-CD pipeline for a client/server TypeScript project hosted on AWS EC2 and CloudFront and monitored with Prometheus, with E-mail notifications used for alerts.
UdaPeople(Cloud-Based Software): a fictional revolutionary concept in Human Resources which promises to help small businesses care better for their most valuable resource: their people
- Deploying Working, Trustworthy Software
- Configuration Management
- Turn Errors into Sirens
CRITERIA | MEETS SPECIFICATIONS | Files |
---|---|---|
Utilize Deployment Strategies to design and build CI/CD pipelines that support Continuous Delivery processes. | Public git repository with project code. | URL01 https://github.com/lebogangolifant/udapeople |
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 |
|
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 CloudFront. | URL03_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 |
- 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