- Client create a Jira task/ticket
- Ticket Assigned to a developer
- Developer write the source code test it locally
- If every thing is fine he will push it to Github repo
- DevOps Engineer create a pipeline using Jenkins (stages)
- Stage 1 : compling the source code
- Stage 2 : running unit tests
- Stage 3 : run Sonarqube (code quality check, linitng. formating, ...)
- Stage 4 : run vuln scan using trivy
- Stage 5 : build/package the app
- Stage 6 : publishing artifacts to Nexus repo (release mngt)
- Stage 7 : build docker image
- Stage 8 : run vuln scan the docker image
- Stage 9 : publish docker image to registry
- Stage 10 : deploy the app using k8s +6 scan the cluster using kubeaudit
- Stage 11 : receive the email notification
- Monitorning the app using Node exporter and Grafana
- Phase 1 :
- Network env (privacy, isolation & security)
- k8s cluster (for deploy) & scan it
- Create multiple VMs (Sonr, Nexus, Jenkins, Monitoring)
- Phase 2 :
- Git repo (private)
- Push code
- Phase 3 :
- CI/CD pipeline
- Best practices
- Security measures
- Configure mail notif
- Phase 4 :
- Setup Monitoring tools -> app (system level + app level)
- Using the AWS default VPC
- Create a EC2 Security group
- Inbound rules :
- HTTP :
- HTTPS :
- SMTP : not for use
- SMTPS : email notification
- SSH :
- 6443 : kubernetes cluster
- 3000-10000 : to deploy apps
- 30000-32767 : deployemnts of apps (using VMs as kubernetes cluster)
- Inbound rules :
- Create EC2 (3 instance for the k8s cluster)
- IAM
- T2.micro
- key
- security group
- storage
- rename them (master, slave-1, slave-2)
- Configure EC2 instance (install k8s)