CI vs CD vs CD Flashcards

1
Q

What stage of the CI/CD pipeline is CI used in?

A

Development

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

Define Continuous Integration…

A

The practice where developers merge back into the main branch as often as possible.

Automated regression testing is carried out to keep build green and keep merges as simple as possible.

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

Why is CI test heavy?

A

Emphasis on testing to try and avoid merge conflicts.

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

Define Continuous Delivery…

A

The frequent release of software from staging to production. Automated as much as possible, but manual button press releases to production.

An extension of continuous integration.

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

In Continuous Delivery, what is the benefit of having a manual release?

A
  • Flexible with release time frames. E.g can have every day, every week, every month etc.
  • More control over release to production
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

With Continuous Delivery or Deployment, what should the time schedule for releases be and why?

A
  • Release should be kept frequent and small increments.
  • This prevents large bugs occurring and snowballing. Any issues with software can be addressed quickly.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Define Continuous Deployment…

A

An extension of Continuous Delivery, but with automation throughout.

There is no manual deployment to production.

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

What are the benefits of Continuous Deployment over Delivery?

A
  • Full automation means no excess worrying and preparing for release day.
  • Hands off release means focus can fully be on development rather than prepping for release.
  • Excellent for creating tight and continuous feedback loops
  • Small changes mean easier error correction
  • Continuous improvement is possible due to automated feedback loop.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are the cons of Continuous Deployment?

A
  • Requires excellent testing to ensure no bug overflow to production
  • Bugs can overflow to production
  • Documentation writing must keep pace with releases
  • Requires solid CI and testing foundation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are the cons of Continuous Delivery?

A
  • Requires excellent CI foundation
  • Requires excellent testing suites
  • Automation setup can be complicated
  • Preparing for release can distract and detract from development
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are the benefits of Continuous Integration?

A
  • Automated testing ensures less bugs passed to production
  • Instant error flagging leads to quick resolution processes
  • Specialised CI server for automation and running tests can reduce cost and improve efficiency
  • QA team spends less time testing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are the cons of Continuous Integration?

A
  • Each new feature added needs to have tests written for it.
  • Frequent merging can be complicated and time consuming.
  • May require extra specialists for merging practice
  • Overhead of potentially setting up a CI server to run integrations and monitor main branch.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Why is there a huge emphasis on automation in CI?

A

To automate testing to ensure there are no merge conflicts when integrating to main branch.

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