Skip to content

Give Your Application Auto-Deploy Superpowers In this project, you’ll demonstrate your Cloud DevOps engineer skills as a new employee at UdaPeople, an innovative new Human Resources company.

License

Notifications You must be signed in to change notification settings

Mohamed-Eleraki/udapeople-cicd_ref

 
 

Repository files navigation

Udacity Advanced Cloud DevOps

Build CI/CD Pipelines, Monitoring & Logging
Give Your Application Auto-Deploy Superpowers
UdaPeople(Cloud-Based Software)

CircleCI Udacity Project GitHub language count GitHub top language

Table Of Contents

UdaPeople

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."

UdaPeople Pipeline

Prerequisites

Nodejs 13 doker GitHub account CircleCI Amazon_AWS kvdb api bucket Slack

Built With

CircleCI Amazon_AWS AWS CLI CloudFormation Ansible Prometheus

Project Submission

Section 1: Selling CI/CD to your Team/Organization

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

Section 2: Deploying Working, Trustworthy Software

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

Section 3: Turn Errors into Sirens

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

Files Included

License

Udacity License

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License

About

Give Your Application Auto-Deploy Superpowers In this project, you’ll demonstrate your Cloud DevOps engineer skills as a new employee at UdaPeople, an innovative new Human Resources company.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 62.3%
  • CSS 36.2%
  • JavaScript 1.3%
  • Other 0.2%