capistrano で本番サーバー一発反映

こんにちはこんにちは!今日はサーバー反映にとっても便利な capistrano を入れてみるお!capistrano ってかっこいい名前!むかしは switchtower って名称だったの。こっちもかっこいいねー。

capistrano って?

Ruby で書かれたデプロイツール。サーバー反映がコマンド一発でできるのと、バグがあったときなどにむかしの状態に戻せるあんしん機能。

capistrano インストール

Ruby インスコ
cd /usr/local/src/
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.1-p0.tar.gz
tar xzvf ruby-1.9.1-p0.tar.gz
cd ruby-1.9.1-p0
./configure
make
sudo make install
rails インスコ
gem install rails
capistrano インスコ
gem install capistrano

これでおk

deploy.rb のサンプル

ネットみてても簡単なサンプルは出てるけど実戦的なのあんまりないにゃあ。というわけでちょっとさらしてみるよ。Rails じゃないから再起動のところとかは割愛。

set :application, "text"
set :repository,  "http://path/to/subversion/repository/"

set :deploy_to, "/path/to/deploy/#{application}"
set :svn_username, "svn_username"
set :user, "username"
set :use_sudo, false
set :deploy_via, "export"

role :web, "000.000.000.000"

task :setup, :roles => [:web] do
 run "mkdir -p -m 755 #{shared_path}/files"
end

after "deploy:finalize_update" do
  run "ln -nfs #{shared_path}/data #{release_path}"
end