[その2]capstranoでデプロイしてみる!!

( Server )

次は実際にソースをリモートに設置させるようにします。

このコマンドで必要最低限のファイルを自動で作成してくれます。

$ capify . 
$ emacs config/deploy.rb

その作成されたファイルを自分の環境に合わせて設定します。 以下だと、gitで管理しているソースをappユーザで配置します。

set :application, "hogeme"
set :repository,  "ssh://hogeme.git" # git
set :deploy_to, "/var/www/#{application}"
set :scm, :git

#set :user, "app"                                                                                                                                                                    
set :user, "nakaji"
set :use_sudo, false

role :web, "hoge.me"
role :app, "hoge.me"
role :db,  "hoge.me", :primary => true

デプロイの処理を行うコマンドです。

$ cap deploy:setup

このときリモート側でディレクトリがもろもろ作成されます

[remote] $ tree
.
├── releases
└── shared
    ├── log
    ├── pids
    └── system
$ cap deploy:update
[remote] $ tree
.
├── current -> /var/www/hogeme/releases/20120228170906
├── releases
│   └── 20120228170906
│       ├── Gemfile
│       ├── Gemfile.lock
・
・
・
└── shared
    ├── log
    ├── pids
    └── system

以上。