at posts/single.html

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

ただのにっきにてtDiaryのバージョンアップ方法が話題になっていたので。僕は普通にgitのブランチで管理している。

gitでソースを取得し、ローカルブランチで変更を加えていく。

$ git clone git://github.com/tdiary/tdiary-core.git tdiary  # ソースを取得
$ git checkout -b machu.jp  # ローカルブランチを作成
$ vim tdiary.conf  # ローカルの変更を加える
$ git add tdiary.conf && git commit  # 変更をローカルブランチにコミット 

tDiaryをアップデートするときは、git pullを使う。

$ git pull origin master

これで、公式の変更点を取り込んで、かつローカルブランチにマージしてくれる。運悪くコンフリクトしたときは、ローカルで修正してコミットする。いきなり本番環境でソースをアップデートするので、まぁちょっと手抜きな方法か。でもいざとなったら git reset --hard HEAD^ で戻せばいいし。

CVSやSubversionで管理していたときは手動でマージしないといけなかったので、本当に楽になったものだ。

ちなみに、うちの日記は unicorn で動かしている(プロセスを常駐している)ので、ソースをアップデートした後には、unicornを再起動している。

$ kill -HUP `cat unicorn.pid`
$ tail log/unicorn.stderr.log
I, [2012-08-13T21:15:31.644961 #20716]  INFO -- : reloading config_file=unicorn.conf
I, [2012-08-13T21:15:31.664011 #20716]  INFO -- : Refreshing Gem list
I, [2012-08-13T21:15:31.700616 #20716]  INFO -- : done reloading config_file=unicorn.conf
I, [2012-08-13T21:15:31.821147 #20716]  INFO -- : reaped #<Process::Status: pid 20729 exit 0> worker=1
I, [2012-08-13T21:15:31.823785 #20716]  INFO -- : reaped #<Process::Status: pid 20727 exit 0> worker=0
I, [2012-08-13T21:15:31.826877 #6280]  INFO -- : worker=0 ready
I, [2012-08-13T21:15:31.827019 #6277]  INFO -- : worker=1 ready

関連する日記