AZ400-Q: make a release reproducible

A production incident occurs two months after release. The team must rebuild exactly the same package and identify the source revision, pipeline run, and dependencies used. What is the best design?

  • A) Always deploy the latest successful build from the main branch.
  • B) Name artifacts production and replace them on each release.
  • C) Keep only pipeline logs; package versions are unnecessary if Git tags exist.
  • D) Publish immutable versioned artifacts, link the version to a source commit/tag and pipeline run, and retain them according to the recovery/audit policy. ✓

Answer: D. Reproducibility needs traceable, immutable inputs and outputs. Versioned artifacts and recorded provenance support rollback and investigation.

Why not the others: “Latest” changes over time. Replacing a named artifact destroys the evidence. Git history alone does not preserve the resolved package and build output.

semantic-versioning · build-artifact · pipeline-retention