Deploy from a Git tag with Capistrano
Are you using Capistrano and Git and want to easily deploy from Git tags? It couldn't be simpler
Using Git, tag a new release:
git tag -a 09.10.02.01 -m "Tagging a release"
You can use git tag to list your tags:
git tag
09.10.01.01
09.10.01.02
09.10.02.01
Now make sure you push your tags to the central repository:
git push origin --tags
Now in your Capsitrano deploy script:
set :branch do
default_tag = `git tag`.split("\n").last
tag = Capistrano::CLI.ui.ask "Tag to deploy (make sure to push the tag first): [#{default_tag}] "
tag = default_tag if tag.empty?
tag
end
This will, on deployment, ask you which tag you want to deploy from (defaulting to the most recent tag).
If you found this post useful then you can say thanks by checking out Athletable, my office sport tracking app.