Java CI and delivery

What runs between a push and production, and what it is allowed to block.

3 concepts · 9 interview questions

What this topic covers

Every concept in ci and delivery, and the questions each one gets asked as. Where a question links, it has a full write-up.

What a pipeline should do

Build once, promote the same artifact through environments, and fail as early as possible. Rebuilding per environment means you never shipped what you tested.

  • What stages would you put in a pipeline, and in what order?
  • Why should the same artifact go to every environment?
  • What should be allowed to fail a build?

Environments and configuration

The same artifact must behave differently per environment, which means configuration comes from outside it — and secrets never come from the repository.

  • Where should environment-specific configuration live?
  • How do you handle secrets in a pipeline?
  • What is a feature flag for, and what does it cost?

Releasing and rolling back

Getting a change in front of users gradually, and having a way back that does not depend on a second deploy going well.

  • How do you roll back a bad release?
  • What makes a change hard to roll back?
  • What is a canary release, and what do you watch during one?

More in Build and delivery

See the whole reference map →