Created
November 7, 2013 17:50
-
-
Save devster/7358836 to your computer and use it in GitHub Desktop.
Capistrano/Capifony: ask tag or revision hash before a deploy.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
set :branch, "master" | |
task :set_branch_revision 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}] " | |
if tag.empty? | |
default_revision = `git log origin/#{branch} -n 1 --pretty=format:%H` | |
default_short_revision = default_revision[0, 10] | |
revision = Capistrano::CLI.ui.ask "Revision to deploy (on branch #{branch}): [#{default_short_revision}] " | |
revision = default_revision if revision.empty? | |
set :revision, revision | |
end | |
tag = branch if tag.empty? | |
set :branch, tag | |
puts "Tag #{branch} revision #{revision}" | |
end | |
before :deploy, 'set_branch_revision' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment