デプロイしたリビジョンをファイルに書き出す

  • 8
    いいね
  • 1
    コメント
この記事は最終更新日から1年以上が経過しています。

追記

Capistrano 3.1からは何もしなくてもprevious_revisionとcurrent_revisionが set されるようです。


Capistrano2の頃はデプロイするとそのときのリビジョンがREVISIONという名前のファイルに書きだされていた(ような気がする)のですが、Capistrano3ではデフォルトでそういうことをやらなくなったみたいです。

下記のタスクを追加するとファイルに保存されるようになります。

config/deploy.rb
set :revision_file, 'REVISION'

namespace :deploy do
  task :save_current_revision do
    on role(:app) do
      within repo_path do
        set :revision, capture(:git, :'rev-parse', fetch(:branch))
      end
      within release_path do
        execute :echo "#{fetch :current_revision} > #{fetch :revision_file}"
      end
    end
  end

  before :updated, 'deploy:save_current_revision'
end