Deploy管理のCapistranoは一回使うと手放せません。。
気軽にDeployできてログも残してくれる。
管理者の管理もできるのでいつ誰が何で更新したのかも一目でわかります。
Mercurialの場合は、サブバージョンと違ってちょっとレシピを調整する必要があります。
完璧に対応はできていないようです。
■Capistranoをインストール
1 2 3 |
<textarea class="html" cols="60" rows="5" name="code"> capify rails_app </textarea> |
■RailsアプリにCapistrano設定
Capifileとconfig/deploy.rbができます。
1 2 3 |
<textarea class="html" cols="60" rows="5" name="code"> capify rails_app </textarea> |
■設定ファイルを変更します
config/deploy.rbを編集~
以下のレシピをフックを追加する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
<textarea class="html" cols="60" rows="5" name="code"> set :application, "Your App Name" set :repository, "Your Mercurial Repository" set :user, "SSH USERNAME" set :password, "SSH PASSWORD" set :use_sudo, false set :scm, :mercurial set :scm_password, "Mercurial Password" set :scm_username, "Mercurial Username" set :deploy_to, "/var/www/****" set :original_repository, "/var/www/****/original" # セットアップの後にレポジトリをローカルに設置する after "deploy:setup", :set_original_repository task :set_original_repository do `hg clone #{repository} #{original_repository}` `mkdir #{shared_path}/pictures` end # デプロイする前に現在の最新リビジョンを取得する before :deploy, :update_original_repository task :update_original_repository do logger.trace "executing update_original_repository: hg pull #{original_repository}" if logger `hg pull #{original_repository}` logger.trace "executing update_original_repository: hg update #{original_repository}" if logger `cd #{original_repository}; hg update` rev = `cd #{original_repository}; hg log -r tip --template '{rev}'` logger.trace "executing update_original_repository: set latest revision '#{original_repository}'" if logger set :real_revision, rev end # シンポリックを追加する after "deploy:symlink", :set_symlink task :set_symlink do run "rm -fr #{current_path}/public/pictures" run "ln -s #{shared_path}/pictures #{current_path}/public/pictures" end </textarea> |
セットアップする
setupコマンドで自動的に必要なフォルダなどを作成してくれます。
1 2 3 |
<textarea class="html" cols="60" rows="5" name="code"> cap deploy:setup </textarea> |
デプロイする
deployコマンド実行する
1 2 3 |
<textarea class="html" cols="60" rows="5" name="code"> cap deploy </textarea> |
関連サイト
Capistrano
http://www.capify.org/index.php/Capistrano
Webistrano Hompage
http://labs.peritor.com/webistrano/wiki/Download