We regularly have tasks that need to be performed around a deploy. Be it to notify operations about changed application behavior, be it to run a little oneline script after the deploy. Most database-related stuff can be handled by migrations, but every once in a while, we have tasks that are much easier to be performed manually.
Here is how we manage the deploy tasks themselves:
Now, before and after each deploy, the developer can filter by the respective label and see if there are any tasks to be performed. But what if this could be automated?
geordi commit
in order to set up API access for Pivotal Tracker.before 'deploy:starting', 'deploy:before_deploy_tasks' # Before Slackistrano, if you're using it
after 'deploy:finished', 'deploy:after_deploy_tasks' # Keep this last
bundle exec
.Now, when deploying, Capistrano will first check if there are any pending before deploy tasks. If so, it will print them and wait until you're ready to continue. After the deploy, it will check for after deploy tasks, and tell you if there are any.