RailsというかCapistrano Tipsですが・・・。

リリースの時にタグを打つ & リリースの時にTweetする(ホントはXAuth使いたい・・・)

# config/deploy.rb
set :version, Time.new.strftime('%Y%m%d%H%M%S')

namespace :deploy do
desc "Create release tag"
task :tagging, :roles => :app, :except => {:no_release => true} do
run_locally "git tag v#{version}"
end

namespace :notify do
desc "Tweet release"
task :tweet do
require 'rubygems'
require 'twitter'
require 'pit'

config = Pit.get('twitter', :require => {
'consumer_token_key' => '',
'consumer_secret' => '',
'access_token_key' => '',
'access_secret' => ''
})

oauth = Twitter::OAuth.new(config['consumer_token_key'], config['consumer_secret'])
oauth.authorize_from_access(config['access_token_key'], config['access_secret'])

client = Twitter::Base.new(oauth)

msg = "Version #{version}をリリースしました。 http://help-me-hackers.com #hmh"
client.update(msg)
end
end
end

# config/deploy/production.rb
after 'deploy', 'deploy:tagging'
after 'deploy:tagging', 'deploy:notify:tweet'

あとはpushするときpush --tagするようにする。

Comments


Option