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?