最近の動き

Rails-1.0を受けての周辺整備なのか、長らく止まっていたswitchtowerへの修正がいくつか出ているようでした。

http://dev.rubyonrails.org/changeset/3338

そのうち書こうと思っていたままモタモタしていた*1svn checkout以外のdeployをするための変更。いまのところsvnだけですが、

set :checkout, 'export'

とすることで、exportで本番へdeployできるようになる、つまり.svnが本番環境に残るのはどうかと、の件を解決する修正。

http://dev.rubyonrails.org/changeset/3340

いったんdeployした環境をsvn updateで最新化できるようになるタスクが追加された模様。他箇所のリファクタリングと混じってるので修正量がでかく感じますが、switchtower/lib/switchtower/scm/subversion.rbの75-79行目あたりがキモだと思われます。

呼び出すタスクはupdate_currentなんですかね。



上記二つをあわせると、checkoutとexportを使い分けることで、運用の意味上の違いが出せますね。switchtowerらしく、運用の現実に即した素敵な機能追加だと思います。

私が実プロジェクトの運用設計をするならbugfix系のリリースはupdate_currentで、機能追加はexportを使ったupdate_codeで(rollbackしたいし)という感じで使うようにすると思います。

*1:rails yearを甘く見ていました。。。