Contents
- Use Capistrano from Linux
- install capistrano
- svn checkout
- setup ssh
- cap deploy:stop
- cap deploy:update
- cap deploy:migrate
- cap deploy:start
- 再トライ
- 全体的に
- Windows mswin32 Rubyでトライ
- update rubygems
- install capistrano
- check ssh
- svn checkout
- cap deploy:stop
- cap deploy:update
- cap deploy:migrate
- cap deploy:start
- 全体的に
- use Cygwin on Windows
- update rubygems
- install capistrano
- deploy:stop
- cap deploy:update
- cap deploy:migrate
- cap deploy:start
- 全体的に
Using Capistrano
■Use Capistrano from Linux
install capistrano
ssh example.com sudo -s # gem install capistrano % cap --version Capistrano v2.5.5
svn checkout
cd svn co file:///repos/target/trunk target
setup ssh
- http://eto.com/d/CreateAuthorizedKeys.html にしたがって鍵を作る
- eto@example.comとしてログイン
- ~/.ssh以下には,id_dsaは無いことを確認
ssh-keygen -t dsa sudo -s
- /home/admin/.ssh/authorized_keysに/home/eto/.ssh/id_dsa.pubの内容を追記した.
ssh -l admin example.com
- 先程のパスワードで入れることを確認
keychain id_dsa source ~/.keychain/example-csh ssh -l admin example.com
- 今度はパスワード無しで入れるようになった.
cap deploy:stop
cd ~/target svn st svn commit wget -S http://localhost:3000/ →動いてることを確認. cap deploy:stop wget -S http://localhost:3000/ →あれ,まだ動いてるな…. *** [err :: example.com] Couldn't find any pid file in '/home/admin/target/releases/20090506041235/tmp/pids' matching 'dispatch.[0-9]*.pid' *** [err :: example.com] (also looked for processes matching "/home/admin/target/releases/20090506041235/public/dispatch.fcgi")
- 前回の起動の仕方がCapistranoを使わなかったからかな.
- adminで入って,ps uxしてkillした.
wget -S http://localhost:3000/ →停止したことを確認した.
cap deploy:update
cap deploy:update Permission denied (publickey). svn: Connection closed unexpectedly
- 駄目だ.エラーになる….とりあえずupdateはスキップする.
cap deploy:migrate
% cap deploy:migrate →これはうまくいく.
cap deploy:start
% cap deploy:start wget -S http://localhost:3000/ →よし,動いた.
再トライ
cap deploy:stop wget -S http://localhost:3000/ →止まった. cap deploy:start wget -S http://localhost:3000/ →動いた.
- updateしないのならばうまくいくことがわかった.
全体的に
- update以外はうまくいった.updateがうまくいかない理由はよくわからない.
■Windows mswin32 Rubyでトライ
update rubygems
c:/ruby/bin/gem --version 1.2.0 c:/ruby/bin/gem update --system c:/ruby/bin/gem --version 1.3.3
install capistrano
c:/ruby/bin/gem install capistrano c:/ruby/bin/gem install echoe ←なぜかこれが必要だった. c:/ruby/bin/cap --version Capistrano v2.5.5
check ssh
ssh example.com
- keychainを使っているので,パスワード無しで入れることを確認.
svn checkout
cd c:/dev svn co svn+ssh://example.com/repos/target/trunk target
cap deploy:stop
- check ssh for admin
ssh -l admin example.com
- こちらもパスワード無しで入れることを確認した.
wget -S http://www.example.com:3000/ →動いてることを確認. cd c:/dev/target c:/ruby/bin/cap deploy:stop Enter passphrase for C:/cygwin/home/eto/.ssh/id_dsa: ←なぜかパスワードを聞いてくる. wget -S http://www.example.com:3000/ →停止した
cap deploy:update
c:/ruby/bin/cap deploy:update →お,うまくいった.
cap deploy:migrate
c:/ruby/bin/cap deploy:migrate
cap deploy:start
c:/ruby/bin/cap deploy:start wget -S http://www.example.com:3000/ →動いた.
全体的に
- パスワードを聞いてくることを除けばうまくいくことがわかった.
■use Cygwin on Windows
update rubygems
/usr/bin/gem --version 1.0.1 /usr/bin/update_rubygems Error: Cannot find RubyGems Update Path! /usr/bin/gem update --system /usr/bin/gem --version 1.3.3
install capistrano
/usr/bin/gem install capistrano /usr/bin/cap --version Capistrano v2.5.5
deploy:stop
wget -S http://www.example.com:3000/ →動いてることを確認. cd c:/dev/target /usr/bin/cap deploy:stop wget -S http://www.example.com:3000/ →止まった.
cap deploy:update
/usr/bin/cap deploy:update →うまくいった.
cap deploy:migrate
/usr/bin/cap deploy:migrate
cap deploy:start
/usr/bin/cap deploy:start wget -S http://www.modulobe.com:3000/ →動いた.
全体的に
- パスワードも聞いてこないし,うまく動くことがわかった.
Last modified: 2009-05-16