CI/CD Flashcards

1
Q

What does Continuous Integration (CI) in the context of CI/CD?

A

Continuous Integration is a development practice where developers integrate code into a shared repository frequently (each feature/ticker). Each integration is then verified by an automated build and tests to detect integration errors as quickly as possible.

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

What is Continuous Deployment in the context of CI/CD?

A

Continuous Deployment is the practice of automatically deploying every main branch change that passes the testing phase into production, ensuring that new features are quickly utilized and problems are detected early.

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

What are the primary benefits of implementing CI/CD pipelines?

A

The primary benefits of CI/CD include increased deployment frequency, lower development costs, quicker release cycles, enhanced product quality, reduced risk in software updates, and better alignment with business objectives.

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

What are some common tools used for CI/CD?

A

Common CI/CD tools include Jenkins, GitLab CI, CircleCI, Travis CI, and GitHub Actions. These tools automate steps in the software delivery process, such as builds, tests, and deployments.

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

What is a pipeline in the context of CI/CD, and what does it typically include?

A

A CI/CD pipeline automates the steps in the software delivery process. It typically includes stages for compiling the code, running tests (unit tests, integration tests, etc.), deploying to staging environments, and finally automating deployment to production.

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

How do CI/CD pipelines manage the process of rolling back deployments?

A

CI/CD pipelines manage rollbacks by automatically reverting to the last known good state in the event of a failed deployment. This is facilitated through techniques such as blue-green deployments or canary releases, where only a small portion of the production environment is updated initially.

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