ようやく、EclipseでPython開発ができるようになった。しかし、このままだと、バージョン管理が全く出来ていないことになる。会社ではVisualStudioなので、VSSしか使わないが、Eclipseなので、Subversionを導入したい。さらに、会社での仕事具合によっては、家でEclipseを起動することもなく、久しぶりに立ち上げたときに、何をやっていたのかを完全に忘れることになるので、これもなんとかしたい。MS Projectを使うのもアホらしいし、付箋紙だとちょっと頼りない感じなので、Tracを使うことにする。

Tracについて

TracについてはITproに記事が出ていたので、熟読する。日本語用にTrac-jaというパッケージがまとまっているらしい。インタアクト社の人に感謝。

本題:Tracのインストール

事前準備

Tracをインストールする前に、入れておくソフトがいくつかあるので、まずはこいつらをインストールする。インストール先はUbuntu 9.04 Server。

ソフト バージョン


Python 2.4以上 setuptools 0.6b1以上 PySQLite 1.x以上 Pygments 0.6以上 Genshi 0.5以上

sudo apt-get install libapache2-mod-python libapache2-svn python python-setuptools python-subversion python-pygments unzip

Ubuntu Serverをセットアップするときに、オプションのパッケージを何も選ばなかったので、Apacheすら入っていない。TracはWebアプリなので、当然webサーバーぐらいは必要。SVNのリポジトリもWebブラウザで見れるようにしたいので、

  • Apache
  • mod_python
  • libapache2-svn

も上のコマンドで、一緒にインストールしておく。

Trac-jaのインストール

zipファイルを持ってきて、インストーラを実行するだけで完了する。

cd
mkdir Download
cd Download
wget http://www.i-act.co.jp/project/products/downloads/Trac-0.11.5.ja1.zip
unzip Trac-0.11.5.ja1.zip
cd Trac-0.11.5.ja1/
sudo python ./setup.py install

インストール確認は

trac-admin help

プラグインのインストール

  • AccountManagerPlugin
sudo easy_install http://trac-hacks.org/svn/accountmanagerplugin/trunk
  • IniAdminPlugin
sudo easy_install http://trac-hacks.org/svn/iniadminplugin/0.11

で済むはずなんだけど、utf-8関連でエラーになる箇所があるので、ソースを取ってきて、修正してからインストールしないといけない。

cd ~/Download
svn export http://trac-hacks.org/svn/iniadminplugin/0.11/ iniadminplugin
cd iniadminplugin
vi iniadmin/iniadmin.py

修正箇所はここを参照

Digest認証の設定

sudo -u www-data htdigest -c /var/trac/htdigest trac admin
sudo a2enmod auth_digest
sudo a2ensite trac
source /etc/apache2/envvars
apache2 -t
sudo /etc/init.d/apache2 reload

Subversionリポジトリを登録してみる

sudo -u www-data svnadmin create /var/svn/trac-sample

Trac Environmentを用意する

sudo -u www-data trac-admin /var/trac/trac-sample initenv
sudo -u www-data trac-admin /var/trac/trac-sample permission add admin TRAC_ADMIN

trac.iniに追記

sudo -u www-data nano /var/trac/trac-sample/conf/trac.ini
#以下を追記
[account-manager]
hash_method = HtDigestHashMethod
htdigest_realm = trac
password_file = /var/trac/htdigest
password_store = HtDigestStore
[components]
acct_mgr.* = enabled
iniadmin.* = enabled

Tracへログイン

http://ホスト名/trac
user : admin
pw : ****(入力したパスワード)

Tracの初期設定

[Accounts]-[Users]

ユーザーの追加

[チケットシステム]-[チケット分類]

  • 作業(task)
  • 障害(defect)
  • 要望(enhancement)

[チケットシステム]-[優先度]

優先度はPriorityなのでPn

  • P1:最優先
  • P2:優先
  • P3:普通
  • P4:低い
  • P5:最も低い

[チケットシステム]-[重要度]

重要度はSeverityなのでSn

  • S1:致命的
  • S2:重大
  • S3:普通
  • S4:軽微
  • S5:些細

優先度と重要度はもっと具体的な名称にしておかないと、運用できない気がする。もっといえば、フェーズごとに変わる気がしてきた。

参考