トップ 最新 追記

Catra's Diary

2005|01|02|03|05|06|07|10|
2006|05|07|09|10|11|
2007|06|07|08|
2008|01|02|07|09|11|12|
2009|06|
2010|03|07|
2011|01|
2013|05|

2007-06-10 [Sunday]

_ rails on monotone

monotone で rails project を管理する手順。元ネタは Google キャッシュから拾ってきた。 環境は

  • Debian GNU/Linux 4.0 (Etch)
  • rubygems は etch パッケージ (0.9.0-5)
  • rails は rubygems でインストール (1.2.3)
  • monotone は monotone web site から etch 用パッケージをダウンロードしてインストール (0.35)
  1. monotone の db 作成

    #作成済みであれば省略可能。

    まず、データベースを作成する。

    $ mtn db init -d ~/var/rails.mtn

    そして、使用するキーを作成する。

    $ mtn genkey hoge@example.com

    パスワード入力を省略したり、ssh-agent に登録したりするところは省略。

  2. rails project 用フォルダを作成する

    ここでは ~/work/rails 以下に test という rails project を作成する。 monotone データベースは先ほど作成した ~/var/rails.mtn、 ブランチを com.example.rails.test.trunk として、monotone による管理を開始する。

    $ cd ~/work/rails
    rails$ mtn -d ~/var/rails.mtn -b com.example.rails.test.trunk setup test
  3. rails project を作成する

    rails コマンドを使用して、rails project を作成する。

    rails$ rails test
    test$ cd test
    • 手元の環境では rails、rake コマンドは /var/lib/gems/1.8/bin 以下にインストールされていたので、 あらかじめ PATH を通しておく。
  4. 対象外ファイルの指定

    monotone 管理の対象から外すファイルは、.mtn-ignore に記述する。正規表現が使用可能。

    test$ vi .mtn-ignore
    
    ^log/.*\.log$
    ^config/database\.yml$

    config/database.yml は他の環境に移したときに変更が必要になることから、 管理対象から外して各環境で設定することに。 データベースが共通サーバにあり記述をわける必要が無い、 データベースが sqlite である、 開発も運用も一人かつ一箇所で行う、などの条件であれば、わざわざ除外する必要はなし。

    除外した場合は、元となるファイルを別名で置く。

    test$ cp config/database.yml config/database.yml.dist
  5. rails project の各ファイルを登録する

    rails コマンドで生成されたファイルを、monotone 管理下に置く。

    test$ mtn add -R .
    test$ mtn ci -m "Initial project imported."
  6. 完了

    script/generate -c (または --svn) で生成したファイルを自動的に subversion 管理とするような機能もあるが、 monotone ではその恩恵にはあずかれない。

    また、Capistrano にも非対応である。


トップ 最新 追記