「Capistrano」の編集履歴(バックアップ)一覧はこちら
「Capistrano」(2008/06/09 (月) 00:00:14) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
**アプリケーション名
Capistrano(きゃぴすとらーの)
**このアプリケーションでできること
+deploy用アプリケーション。
+SSHでアクセス可能で、同じユーザ名/パスワードで、同じディレクトリ構成のものであれば、複数台に配置可能(配置先サーバ名を設定に追加するだけ)
+subversionからのエクスポートを手動やwebアプリからキックするより、セキュア&合理的
+配置先でマイグレーション可能。
+配置先でfcgiやmongrelなどの再起動可能
+配置先でのロールバック(一つ前の配置状態に戻す)可能
+配置先は過去の配置状態を時系列で保持している(ディレクトリ名をタイムスタンプとして保持)
**対象バージョン
1.2系
**インストール方法
-gemから
>gem install capistrano
**ちょー簡単な使い方
> gem install -y capistrano
でインストール。
MaxOSX 10.5だと最初からインストール済みだね。
Railsのホームディレクトリ(rail hogeで作ったディレクトリ)で
> capify .
とやると
> ./config/deploy.rb
が作られるのでこの中身の
> set :application, "set your application name here" ←アプリケーション名。適当につける
> set :repository, "set your repository location here" ←subversionのリポジトリ位置
> role :app, "your app-server here" ←Railsのインスタンスを立ち上げるサーバのIPまたはドメイン名
> role :web, "your web-server here" ←静的ファイルの応答を行うサーバのIPまたはドメイン名
> role :db, "your db-server here", :primary => true ←DBのインスタンスを立ち上げるサーバのIPまたはドメイン名
を適当に書き換えた後、必要に応じて
> set :use_sudo, false ←接続先ではsudoする必要があるか
> set :user, "Your user name" ←SSHでログインするときのユーザ名(各サーバ同じ)
> set :scm_user, "Your SCM user name" ←subversionなどのアクセス用ユーザ名(でもうまく動かない)
> set :scm_password, "Your SCM Password" ←subversionなどのアクセス用パスワード(でもうまく動かない)
を追加。(詳しい意味は下記H.F.Fさんページ参照。ちなみにscm_userとpasswordは自分の環境ではうまく動かなかった)
これで設定は終わったはずなので、
> cap deploy:setup
で配置先に初期ディレクトリなどを用意して、1回目の配置は
> cap deploy:cold
2回目以降は
>cap deploy
で配置できるはず。マイグレーションなどもできちゃう。
途中でsshでの接続のためのユーザパスワードを聞かれるので答えるように。(この辺はsshの設定による)
配置先でrailsインスタンスを再起動したいならば
> ./script/spin
というファイルを作って、
> /path/to/current/script/process/spawner -p 11000 -i 3
とだけ書いて保存し、subversionのプロパティで実行権限を付けておくと、起動してくれるようになる。
script/process/*も実行権限いるね。
※注 [[Passenger]]使うならspinスクリプトはいらない。
たぶん実際には、SSH絡みとか./config/*の設定とか、gemとか各種バージョンによって、まずすんなり動かないと思うが、がんがってくれ。
一度動けばうはうはだ。
**公式ページ
-[[Capistrano>>http://www.capify.org/]]
※Getting Started→Railsあたりを読もう
**日本語解説ページ
-[[Studio H.F.F. Capistrano 2.1 利用法>>http://blog.studiohff.net/2007/11/introduction_capistrano_2_1.html]]
※現時点で一番まとまっている
-[[FFTT Capistrano>>http://tech.feedforce.jp/capistrano.html]]
※全体的な話
-[[Haida’s private weblog Capistrano による Deploy>>http://d.hatena.ne.jp/haida/20071209/1197189479]]
※よくまとまっています
**外国語解説ページ
-いまいちいいサイトがない
**のうはう
-アップロードしたファイルとか、バージョンが変わっても保持したいデータは、デプロイ先のcurrent/public/system以下に配置すれば、share/systemにシンボリックリンクが張られるから保持できるようになる。
***コメント
#pcomment(reply)
**アプリケーション名
Capistrano(きゃぴすとらーの)
**このアプリケーションでできること
+deploy用アプリケーション。
+SSHでアクセス可能で、同じユーザ名/パスワードで、同じディレクトリ構成のものであれば、複数台に配置可能(配置先サーバ名を設定に追加するだけ)
+subversionからのエクスポートを手動やwebアプリからキックするより、セキュア&合理的
+配置先でマイグレーション可能。
+配置先でfcgiやmongrelなどの再起動可能
+配置先でのロールバック(一つ前の配置状態に戻す)可能
+配置先は過去の配置状態を時系列で保持している(ディレクトリ名をタイムスタンプとして保持)
**対象バージョン
1.2系
**インストール方法
-gemから
>gem install capistrano
**ちょー簡単な使い方
> gem install -y capistrano
でインストール。
MaxOSX 10.5だと最初からインストール済みだね。
Railsのホームディレクトリ(rail hogeで作ったディレクトリ)で
> capify .
とやると
> ./config/deploy.rb
が作られるのでこの中身の
> set :application, "set your application name here" ←アプリケーション名。適当につける
> set :repository, "set your repository location here" ←subversionのリポジトリ位置
> role :app, "your app-server here" ←Railsのインスタンスを立ち上げるサーバのIPまたはドメイン名
> role :web, "your web-server here" ←静的ファイルの応答を行うサーバのIPまたはドメイン名
> role :db, "your db-server here", :primary => true ←DBのインスタンスを立ち上げるサーバのIPまたはドメイン名
を適当に書き換えた後、必要に応じて
> set :use_sudo, false ←接続先ではsudoする必要があるか
> set :user, "Your user name" ←SSHでログインするときのユーザ名(各サーバ同じ)
> set :scm_user, "Your SCM user name" ←subversionなどのアクセス用ユーザ名(でもうまく動かない)
> set :scm_password, "Your SCM Password" ←subversionなどのアクセス用パスワード(でもうまく動かない)
を追加。(詳しい意味は下記H.F.Fさんページ参照。ちなみにscm_userとpasswordは自分の環境ではうまく動かなかった)
***更新
subversionなどで、checkoutなどにユーザ名とパスワードが必要だった場合、上記scm_userとscm_passwordを使ってみたけど、コケてしょぼーんだったのが昨日までの話。よくよく考えてみると、
> set :repository, "--username your_user_name --password your_password http://example.com:/path/to/your/repository"
でいいじゃんって事になった。確かにこれで動くしね。
これで設定は終わったはずなので、
> cap deploy:setup
で配置先に初期ディレクトリなどを用意して、1回目の配置は
> cap deploy:cold
2回目以降は
>cap deploy
で配置できるはず。マイグレーションなどもできちゃう。
途中でsshでの接続のためのユーザパスワードを聞かれるので答えるように。(この辺はsshの設定による)
配置先でrailsインスタンスを再起動したいならば
> ./script/spin
というファイルを作って、
> /path/to/current/script/process/spawner -p 11000 -i 3
とだけ書いて保存し、subversionのプロパティで実行権限を付けておくと、起動してくれるようになる。
script/process/*も実行権限いるね。
※注 [[Passenger]]使うならspinスクリプトはいらない。
たぶん実際には、SSH絡みとか./config/*の設定とか、gemとか各種バージョンによって、まずすんなり動かないと思うが、がんがってくれ。
一度動けばうはうはだ。
**公式ページ
-[[Capistrano>>http://www.capify.org/]]
※Getting Started→Railsあたりを読もう
**日本語解説ページ
-[[Studio H.F.F. Capistrano 2.1 利用法>>http://blog.studiohff.net/2007/11/introduction_capistrano_2_1.html]]
※現時点で一番まとまっている
-[[FFTT Capistrano>>http://tech.feedforce.jp/capistrano.html]]
※全体的な話
-[[Haida’s private weblog Capistrano による Deploy>>http://d.hatena.ne.jp/haida/20071209/1197189479]]
※よくまとまっています
**外国語解説ページ
-いまいちいいサイトがない
**のうはう
-アップロードしたファイルとか、バージョンが変わっても保持したいデータは、デプロイ先のcurrent/public/system以下に配置すれば、share/systemにシンボリックリンクが張られるから保持できるようになる。
***コメント
#pcomment(reply)
***トラックバック
&link_trackback(text=トラックバック表示)