Set up a new repository and CI pipeline using any free tier from the provider of your choosing (e.g. GitLab, GitHub, BitBucket, etcetera).
You can download the codebase from this repository from the codebase
directory. The codebase contains a simple JavaScript application built using create-react-app.
The CI build should be triggered for any pull-request and should run the following steps:
- Install dependencies
npm install
- Linter (ESLint)
npm run lint
- Formatter (Prettier)
npm run prettier
- Test (Jest)
CI=true npm run test
- Build
npm run build
The build should be successful. Please provide a couple of pull-requests to show pass or fail in the CI pipeline.
Write a concise description of how would you go about deploying this project to a public-cloud provider. Go in as much detail as you want, but try not to spend more than 30 minutes on it. Give a general overview of what resources will be required. Also, describe the process you'll use to build the infrastructure, deploy, handle different environments, etcetera. You can choose any public cloud and write a few sentences on why you use that provider.