Tracの使い方 - プロジェクトの追加・削除 - | A Day In The Boy's Life

A Day In The Boy's Life

とあるエンジニアのとある1日のつぶやき。

管理するプロジェクトの規模が大きくなってきたり、部門内でその他の施策もTracで管理したいという要望が上がって来た場合に、Trac上で複数のプロジェクトを管理できるように設定する必要が出てきたりします。

その方法を紹介します。



Tracにプロジェクトを追加する方法


基本的な方法は、インストール編 で紹介した幾つかの操作を繰り返せばよいだけです。

流れとしては下記になります。



1. PostgreSQLに新規プロジェクト用DBを作成


インストール編の「2.1 DB作成」の操作を実行。ただし、DBユーザーは既に存在していますので作成する必要はありません。



2. Subversionに新規プロジェクト用リポジトリを作成


インストール編の「2.2 Subversionのリポジトリ作成」の操作を実行



3. trac-adminコマンドでTracにプロジェクトを作成


インストール編の「4 Trac環境設定」の操作を実行。ただし、Trac用のディレクトリは既に存在していますので実行するのは、trac-adminコマンドだけです。


# trac-admin /home/trac/project2 initenv

途中で聞かれる、


oject Name [My Project]

には、新規プロジェクト名を、


Database connection string [sqlite:db/trac.db]> 

には、1.で作成したDB名を指定し


Path to repository [/path/to/repos]>

には、2.で作成したSubversionのリポジトリを指定します。


追加が成功すると、Webから「http://hogehoge.com/trac/ 」にアクセスすると追加したプロジェクトが一覧表示されているはずです。

エラーが出た場合は、インストール編 のエラーの対処方法を参考にしてみてください。



Tracのプロジェクト削除方法


運用開始後は必要ないかと思いますが、テストで作ったプロジェクトを削除したい場合などは以下の方法で綺麗に削除できます。


※ 不要なものを消してしまわないよう、DB及びTracのディレクトリをバックアップしておく事をお勧めします。



1. Tracプロジェクト用ディレクトリを削除


Tracのプロジェクト用のディレクトリ(インストール編 の例では「/home/trac/project1」)を削除します。

他のプロジェクトディレクトリを誤って消さないようにしましょう。


例)

# rm -Rf /home/trac/project1


2. Subversionのリポジトリを削除


Subversionのディレクトリに該当のプロジェクト用リポジトリ(インストール編の例では「/home/svn/project1」)がありますので、それを削除します。


例)

# rm -Rf /home/svn/project1


3. DBの削除


プロジェクト登録時に指定したDBを削除します。


例)

# su - postgres

$ dropdb tracdb


これで、Tracのプロジェクトは綺麗に削除されます。


※ Tracを動かしているとDBへの接続プロセスが残り(DBコネクションがプールされてる)、PostgreSQLのDBを

  削除することが出来ない場合があります。


$ dropdb tracdb
dropdb: database removal failed: ERROR: database "tracdb" is being accessed by other users

プロセスを確認してみると、下記のように接続プロセスが維持されている。


postgres 3689 2570 0 Jun12 ? 00:00:00 postgres: trac_user tracdb 127.0.0.1(32865) idle
postgres 3690 2570 0 Jun12 ? 00:00:00 postgres: trac_user tracdb 127.0.0.1(32866) idle
・・・・


このような、場合は一旦Apacheのプロセスを停止してやれば上記プロセスが消えますので、DBを削除 出来るようになります。