tdiary のバージョンアップ手順は何かモダンな手順があるのでしょうか という質問をみわさんがしていて、machu さんがtDiaryのバージョンアップ方法 (gitを使う)ので、hsbt.org でやっている手順を書いておこう。
ポリシーとして「Web アプリケーションに何か変更を加える時にサーバー、いわゆる本番環境で動いているコードを直接触ることはしない」というのを心がけている。
では、どうするかというと、apache で fcgi が動作しているディレクトリにコードは配置せずに cap の標準構成のディレクトリのコードを symlink で参照するようにした上で、コードを更新したい時は普段開発している環境の Macbook から capistrano を使ってサーバーにデプロイするという方法を使っている。なので、実際にアップデートする時は以下のコマンドを実行するだけ。
% cap deploy
% cap httpd:restart
実は tDiary にはサーバーのセットアップさえ行えば誰でも capistrano を使ったデプロイを使えるようになっている。コードはこの辺。
https://github.com/tdiary/tdiary-core/blob/master/tdiary/deploy.rb
ただし、上記の cap の設定だと github の master を使っているので、ここは引数で指定できるようにした方がいいかもね。気が向いたらやるかも。
capistrano は最初にサーバーを用意するのが大変なんだけど、ここは chef とか puppet の領域だからちょっと難しいかなあ。実は tDiary を動かしているサーバーが死んだ時もさっと再構築できるようにするべきだから、この辺は気が向かなくてもやっておこう。