yo_waka's blog

418 I'm a teapot

WebistranoをRails3.2.9に対応させた

アプリのデプロイやDBのマイグレーションCapistrano を使っているのですが、PM やディレクターでもテンプレートの修正くらいならコミットしてデプロイできるようなやり方をいろいろ探していて、Capistrano の WebUI であるWebistrano に行き着きました。

これめっちゃいいじゃん!と思って見てみると、なんと最後の更新が2年前でRailsも2.3ではないか・・


あきらめずにググってみたら、id:antipopさんがRails3.2.5対応しているのを発見した。神対応すぎる。
Webistranoをruby1.9.3-p194 + Rails 3.2.5で動くようにした
ペパボも Webistrano 使ってるのかー

ただ、記事にも書かれている通り、元のリポジトリからかなり変更が加わっている感じで外部ライブラリのアップデートで簡単に死ぬ感じはする。
デプロイツールのようなものは一旦取り入れると、簡単には変えられないし、安心してツールをバージョンアップしていくためにも依存ライブラリは極力減らしておきたいところ。


なので、めんどくさいけど元のリポジトリを fork して、id:antipop さんのリポジトリを参考にしながら、地道に現時点で最新のRails 3.2.9でテストがすべて通る状態にした。
mass-assignmentエラーとかライブラリ読み込めてないの解消とかくらいしかやってないですけど。

waka/webistrano

ユーザー認証は少なくともRails3の間はdeviceで大丈夫だろうという気がしているので採用。
あと prototype.js をやめて jquery を使うように変更。ほとんど JS 使ってる箇所ないけど。
文言も国際化した。これが一番めんどくさかったけど、文言が英語というだけで敬遠する人も多いし、SPOF をより排除しやすくするためにもどうしてもやっておきたかった。

簡易ではあるけどユーザーの権限も設定できて使いやすいですね。
これでレシピ登録して運用までいけるかどうか試してみたいと思います。

bundle install --path=vendor/bundler
bundle exec rake db:setup
bundle exec rake test
bundle exec script/rails s