Deployment Flashcards
Deployment pipeline
Deployment pipeline is the automated steps from developing to production
- CI: Version control, build (individual developers code), automated tests (ex. unit testing)
- CD: Deploy and auto tests (ex. integration tests)
- Deploy for production
- Monitoring and validation after production
Tree shaking
Removing dead or unused code from bundles to improve performance and efficiency (since there’s less code to load)
Bundling
Optimizing your code in preparation for deployment. Combining and minimizing your files into one file/a few files to reduce HTTP requests
Packaging
Packaging your bundles and other resources (assets, configuration files and dependencies) in preparation of deployment
Containerization
A (optional and efficient) way to deploy a project. It configures your packaged project into a single portable container that can consistently run across different environments
Efficient because it’s lightweight
Webpack
A bundler suitable for larger projects because it’s highly configurable
Rollup
A bundler suitable for smaller projects or libraries because it bundles small pieces of code into large application and is simpler
Docker
Containerization platform that amplifies (the concept of) containerization and simplified deployment testing and dev workflow
Deploy
Moving the app to a different environment (dev, test, stage, prod)