CI/CD Flashcards
What is Continuous Integration (CI)?
CI is the practice of frequently merging code changes into a shared repository, followed by automated builds and tests to detect integration issues early.
What is Continuous Delivery (CD)?
Continuous Delivery ensures that code changes are automatically prepared for production by passing through rigorous automated testing and validation, requiring manual approval for deployment.
What is Continuous Deployment, and how does it differ from Continuous Delivery?
Continuous Deployment is the automated release of code changes to production without manual approval, ensuring every successful change reaches users as quickly as possible.
What is a CI/CD pipeline?
A CI/CD pipeline automates the steps in software delivery, including building, testing, and deploying code, to ensure consistency and reliability in the process.
What is build automation in CI/CD?
Build automation compiles source code into executable artifacts (e.g., binaries) automatically as part of the CI/CD pipeline, ensuring consistency and efficiency.
What are common deployment strategies in CI/CD?
Common strategies include:
- Blue/Green Deployments: Switching traffic between old and new environments.
- Canary Releases: Gradually rolling out changes to a subset of users.
- Rolling Deployments: Incrementally updating instances with the new version.
What is a rollback in CI/CD?
A rollback is the process of reverting to a previous stable version of software in production when a new deployment causes issues.
Why is automated testing crucial in CI/CD?
Automated testing ensures code quality and prevents bugs by running unit, integration, and end-to-end tests as part of the pipeline before deployment.
How is IaC (Infrastructure as Code) used in CI/CD pipelines?
IaC automates infrastructure provisioning and configuration as code, enabling consistent environments for testing and deployment (e.g., Terraform, AWS CloudFormation).
What are popular tools for CI/CD?
- Jenkins: Open-source automation server.
- GitHub Actions: CI/CD integration with GitHub repositories.
- GitLab CI/CD: Built-in CI/CD for GitLab projects.
- CircleCI: Continuous integration and delivery platform.