Compile Ready
All Cloud & DevOps modules
Cloud & DevOps/Module 2

Jenkins & Deployment Strategies

4 min read 4 concepts

A pipeline turns a commit into a running production release. Jenkins is just one engine for that — what interviews test is whether you can design a pipeline that is maintainable at scale and choose a release strategy that limits blast radius.

This module covers pipeline-as-code, the stages and gates that make a pipeline trustworthy, and the four deployment strategies (rolling, blue-green, canary, feature flags) with the trade-offs that decide which to use.

A release pipeline
Commit
 -> Build   (compile, one immutable artifact)
 -> Test    (unit, integration, quality gates)
 -> Scan    (security, licence)
 -> Deploy  (staging -> production, gated)
 -> Verify  (health checks, auto-rollback on breach)

Senior-level focus

  • Express pipelines as code and factor shared logic into versioned libraries.
  • Design stages and quality gates that fail fast and block bad releases.
  • Choose rolling / blue-green / canary / feature flags by risk and blast radius.
  • Automate rollback on health signals instead of relying on humans.
  • Keep releases boring: immutable artifacts, health gating, reversible steps.

Pipeline as code & shared libraries

A pipeline defined as code (a Jenkinsfile in the repo) is versioned, reviewed, and diffable with the app — unlike job config clicked in a UI, which drifts and cannot be reviewed.

Common stages are factored into a shared library so many services reuse one tested template and override only what is unique. The library is versioned and pinned, so a template change rolls out deliberately rather than to everyone at once.

Standardise with a shared library
service A Jenkinsfile
service B Jenkinsfile  --->  shared library (build, test, deploy stages)
service C Jenkinsfile

What matters in interviews

  • Jenkinsfile in the repo = versioned, reviewed, diffable pipelines.
  • Shared libraries stop 50 services copy-pasting the same stages.
  • Version and pin the library so template changes roll out safely.
  • UI-clicked job config is unversioned and drifts — avoid it.

Real-world example

A one-line fix to the deploy stage is made once in the shared library; services pick it up when they bump the pinned version — no editing 50 Jenkinsfiles.

Likely interview questions

  • 1.How do you keep pipelines maintainable across dozens of services?

Stages & quality gates

A pipeline is a sequence of stages (build, test, scan, deploy) where each gate must pass before the next runs. Gates fail fast and stop a bad change before it reaches production.

Build once and produce a single immutable artifact promoted through environments. Tests, coverage thresholds, and security scans act as gates; deploy stages are gated on the previous environment being healthy. The earlier a gate catches a problem, the cheaper it is.

What matters in interviews

  • Build once, promote the same artifact — never rebuild per environment.
  • Gates (tests, coverage, scans) fail fast and block bad releases.
  • Order stages cheap-and-fast first for quick feedback.
  • Promotion to prod is gated on staging being healthy.

Real-world example

A security scan gate blocks a release with a critical CVE at the build stage, long before it could reach production — the fix is a one-line dependency bump.

Rolling, blue-green, canary & feature flags

Four ways to release. Rolling replaces instances gradually. Blue-green stands up a full new environment and cuts over instantly. Canary shifts a small % of traffic and ramps on healthy metrics. Feature flags decouple deploy from release entirely.

Blast radius vs cutover speed
rolling      : gradual replace, simple, slow-ish rollback
blue-green   : instant cutover, instant rollback, 2x capacity
canary       : smallest blast radius, needs strong metrics
feature flag : release without deploy, instant kill switch

What matters in interviews

  • Canary gives the smallest blast radius but needs good metrics.
  • Blue-green gives instant cutover and rollback at ~2x capacity.
  • Rolling is the simplest default with maxSurge/maxUnavailable control.
  • Feature flags release to a cohort without a redeploy — instant kill switch.
  • Any DB change must stay backward compatible across the transition.

Real-world example

A risky checkout change ships behind a feature flag, enabled for 1% of users; error rate is watched, then ramped to 100% — or killed instantly with no redeploy.

Likely interview questions

  • 1.Design a safe release for a critical API that must never take downtime.
  • 2.You want blue-green but the release changes the database schema — how?

Automated rollback

Rollback returns to the previous known-good version quickly when a release misbehaves. Done well it is automatic — triggered by health signals, not by a human noticing.

After deploy, watch error rate and latency against the pre-deploy baseline over a bake window; on breach, redeploy the previous immutable artifact. Immutable, versioned artifacts make rollback a fast tag swap; readiness gating keeps traffic on healthy instances.

What matters in interviews

  • Immutable versioned artifacts make rollback a fast, deterministic revert.
  • Trigger rollback on metric breach vs the baseline, not on noise.
  • A bake window plus min sample size avoids false rollbacks.
  • Goal is mean-time-to-recovery in minutes without a human in the loop.

Real-world example

A canary's error rate crosses the threshold at 5% traffic; the pipeline auto-reverts to the previous image tag within two minutes — most users never saw the bad build.

Likely interview questions

  • 1.Design an automated rollback strategy that does not wait for a human.

Key Takeaways

  • Define pipelines as code and factor shared stages into versioned libraries.
  • Build once, gate hard, and promote one immutable artifact through environments.
  • Pick the release strategy by blast radius: canary < blue-green < rolling.
  • Feature flags decouple deploy from release and give an instant kill switch.
  • Automate rollback on health signals so recovery is measured in minutes.