Automated continuous deployment at Heroku

  • When adding new automation, start small.
  • Make it easy to onboard. Configuring pipelines and listing alerts to monitor should be easier than manually deploying.
  • If a manual process was working fine apart from speed, let the automated process use the same model.
  • Isolate early pipeline stages by team environment to avoid affecting other teams right away.
  • Teach deployers to use context the way a human would - scan for open incidents, check whether changes have been merged (or it might use incomplete work).
  • Use internal feature flags to separate the deployment of changes and the enabling of features.

Full post here, 8 mins read