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