ごきげんよう、TrinityTです。桜も咲き始め春の到来を感じますね! 今日は最近になって使い始めたとても便利なツール、Capistranoについて説明します。Railsを使っている人はもちろん、使っていない人両方にオススメです。 Capistranoって何?簡単に言うと「複数の環境に同じ処理を同時に実行させる」ツールです。・昔はSwitchTowerと呼ばれてました。・RoR環境でしか使えないと誤解されがちだが、他の環境でも十二分に便利。・(サービスがPerlで書かれてる)はてなでも導入・RoR環境だと基本的なコマンドが揃っているため特に便利。 何がうれしいの?WebアプリでよくあるパターンとしてAPサーバが複数ある場合に各サーバに対して全く同じ処理(APを転送&APサーバ再起動...etc)を行う場合ってありますよね?そういう場合にCapistranoを導入すれば以下のようなメリット
Capfileで run "cd #{release_dir}; bundle install vendor/bundle --without test development --deployment" とか書いてたけど、bundlerの公式サイト見てたら、capistrano用のbundle installタスクが用意されてることに気づいた。 使い方 Capfileの中で require "bundler/capistrano" としておくと、 cap deploy:update_code が呼ばれたあとに bundle install してくれるようになる。 仕組み コードを見れば一目瞭然です。 # http://github.com/carlhuda/bundler/blob/master/lib/bundler/capistrano.rb # Capistrano task fo
はじめに rails3でもcapistrano使いたいですよね。 でもそのままだとbundlerが動かないので、わざわざ本番環境でbundle installとかやらなきゃいけない。 しかもwindows環境で作られたGemfile.lockが邪魔で、削除してから、本番環境用のGemfile.lockを作らないといけない。 なんとかならないかなぁと、思って四苦八苦したメモ。 失敗すると、こうなります。 結論 Windows開発環境で作られたGemfile.lockはあくまでWindows環境のもの。 Ubuntu(その他の)環境では使えませんよね(だからbundle_flags --deploymentはダメですよ) その環境用にGemfile.lockつくるようなcapistranoのdeploy.rbを書きましょう deploy.rb # デフォルトで設定されている --deploym
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く