トップ «前の日記(2012/08/17 (金) ) 最新 次の日記(2012/08/19 (日) )» 編集 RSS feed

HsbtDiary


2012/08/18 (土) [長年日記]

[tDiary] tDiary のバージョンアップ方法(capistrano を使う)

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 を動かしているサーバーが死んだ時もさっと再構築できるようにするべきだから、この辺は気が向かなくてもやっておこう。