- Working in AWS
- Using Jenkins or Circle CI to implement Continuous Integration and Continuous Deployment
- Building pipelines
- Working with Ansible and CloudFormation to deploy clusters
- Building Kubernetes clusters
- Building Docker containers in pipelines
Step 1: Propose and Scope the Project
- ReactJS frontend application - Currency Exchange converter
- Circle CI is used for Continuous Integration phase
- Deployment type: Rolling deployment
Step 2: Use Jenkins or Circle CI, and implement blue/green or rolling deployment.
- Using Circle CI, set up circle CI account and connected git repository.
- Setting up environment to where application is going to deploy
Step 3: Pick AWS Kubernetes as a Service, or build your own Kubernetes cluster.
- Using CloudFormation to build applicaiton “infrastructure”; i.e., the Kubernetes Cluster.
- Created the EC2 instances
- As a final step, the Kubernetes cluster is being initialized. The Kubernetes cluster initialization is done by Cloudformation using CircleCI orbs.
Step 4: Build your pipeline
- Construct the pipeline in GitHub repository.
- Set up all the steps that pipeline will include.
- Configure a deployment pipeline.
- Include the Dockerfile/source code in the Git repository.
- Include with the Linting step both a failed Linting screenshot and a successful Linting screenshot to show the Linter working properly.
Step 5: Test your pipeline
- Perform builds on the pipeline.
- Verify that the pipeline works as you designed it.
- Taking a screenshot of the Circle CI or Jenkins pipeline showing deployment, and a screenshot of your AWS EC2 page showing the modified (for rolling) instances.
- Circle CI - Cloud-based CI/CD service
- Amazon EKS - https://aws.amazon.com/eks/
- AWS CLI - Command-line tool for AWS
- CloudFormation - Infrastrcuture as code
- Docker - Docker Containerization
- Kubernetes - Kubernetes Cluster