I was struggling setting up a new deployment pipeline for this project I'm working on using Conducto, so I decided to make a checklist to help. Hopefully it'll help somebody else!
- Make a list of all of the things that should be included in this release
- Make sure that any open PRs have been adequately reviewed
- Make sure that everything is merged or rebased to the same branch
- Run all of your unit tests locally
- Do some manual user testing
- Build/update a pipeline that will handle your code and deploy to the staging environment
- Set environment variables
- Do any code formatting
- Run any unit tests
- Run any integration tests
- Set the rules around deploying from new branches, tags, or repos
- Set the path to the cloud service you use
- Let the team know that the new features are up on staging and get some testing in to catch any weird behavior
- Build/update a pipeline that will handle your code and deploy to production
- Clear the server cache
- Set environment variables
- Do any code formatting
- Run any unit tests
- Run any integration tests
- Set the rules around deploying from new branches, tags, or repos
- Set the path to the cloud service you use
- Track server utilization
- Track exception rates
- Have a post deploy meeting to see if there's anything that could be done better next time
This is just a quick, simple deployment strategy. Let me know if there's something you would add or move around!