loading...

Deployment Pipeline Best Practices Summarized

sharmapankaj2512 profile image Pankaj Sharma ・1 min read

Deployment pipeline as defined in the Continuous Delivery, is a process of converting commits into certified releasable artifact.

As a developer, who loves types, I would rephrase the definition for conciseness as

DeploymentPipeline :: List<Commit> -> Try<ReleaseableArtifact>

While working as a consultant, when it comes to deployment pipelines, I have seen same mistakes being repeated across teams. So it is worth reiterating the deployment pipelines guidelines as mentioned in the Continuous Delivery.

  • Build your binaries only once
  • Binaries should not be environment specific
  • Deploy same way to every environment
  • Smoke test your deployments
  • Deploy into copy of production
  • Each change should propagate through the pipeline instantly
  • If any part of the pipeline fails stop the pipeline

I highly recommend Continuous Delivery book that further elaborates on each of these points.

Discussion

pic
Editor guide