CI/CD Flashcards

1
Q

What is Continuous Integration (CI)?

A

CI is the practice of frequently merging code changes into a shared repository, followed by automated builds and tests to detect integration issues early.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is Continuous Delivery (CD)?

A

Continuous Delivery ensures that code changes are automatically prepared for production by passing through rigorous automated testing and validation, requiring manual approval for deployment.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is Continuous Deployment, and how does it differ from Continuous Delivery?

A

Continuous Deployment is the automated release of code changes to production without manual approval, ensuring every successful change reaches users as quickly as possible.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is a CI/CD pipeline?

A

A CI/CD pipeline automates the steps in software delivery, including building, testing, and deploying code, to ensure consistency and reliability in the process.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is build automation in CI/CD?

A

Build automation compiles source code into executable artifacts (e.g., binaries) automatically as part of the CI/CD pipeline, ensuring consistency and efficiency.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are common deployment strategies in CI/CD?

A

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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is a rollback in CI/CD?

A

A rollback is the process of reverting to a previous stable version of software in production when a new deployment causes issues.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Why is automated testing crucial in CI/CD?

A

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 well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

How is IaC (Infrastructure as Code) used in CI/CD pipelines?

A

IaC automates infrastructure provisioning and configuration as code, enabling consistent environments for testing and deployment (e.g., Terraform, AWS CloudFormation).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are popular tools for CI/CD?

A
  • 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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly