Subversion+svkでらくらく分散リポジトリ

第2回  SubversionとBTSの連携

この記事を読むのに必要な時間:およそ 6 分

ソフトウェアの開発ではバグ管理とソースコード管理は必須のツールです。この二つのツールを連携させることで,作業を軽減させる方法を紹介します。

Tracの概要

ソフトウェアの開発においてバージョン管理システムと並ぶ重要なツールの一つとして,プロジェクトのタスクや不具合を管理,トラッキングするバグ管理システムがあります。バグトラッキングシステムや,イシュートラッキングシステムと呼ばれることもあります。最近では,バグ管理システムでタスクや不具合を管理するだけなく,作業の進捗管理や必要な情報の共有を行なうなど,コラボレーションツールとしての色合いを強めてきている傾向にあるようです。

バグ管理システムとしては,オープンソースのBugzillaが有名で,古くから使われてきました。最近注目を浴びているバグ管理システムの一つとして,Tracがあります。TracはEdgewall Softwareが提供しているオープンソースのソフトウェアです。Tracはバグ管理だけでなく,Wikiによる情報の共有機能やSubversionとの連携機能を提供しており,これらの機能に対して細かな権限設定もできます。

Wikiを使うことで,プロジェクトのドキュメントや議事録,備忘録を簡単に作成,共有できます。必要な情報を一カ所に集中できるため,管理が容易になります。Tracでは,Wiki記法での記述が標準となっています。Wiki記法になじめない人は,htmlで記述することができます。しかし,Wiki記法はとてもシンプルな書式なので,慣れれば効率的に文書を作成できるようになります。

Subversionとの連携機能として,コミットログを閲覧,Webブラウザ経由でのリポジトリ参照,リビジョン間の相違点の閲覧ができます。また,Subversionへコミットすると同時に,関連したバグのステータスを変更できる機能があります。

Tracではロードマップというビューがあります。ロードマップはプロジェクトの計画管理や進捗管理に役立つ機能です。ロードマップは単なるマイルストーンのリストですが,マイルストーンごとに開発方針などの説明を設定できます。また,マイルストーンごとに対応するバグ(チケット)の数が表示され,未解決バグと解決済みバグの比率がマイルストーンの進捗インジケータに表示されます。これにより,プロジェクトの進捗状況が一目で分かります。

また,プラグインによる機能拡張が可能で,Trac Hacksではサードパーティ製の様々なプラグインが提供されています。TracとEclipseを連携するもの,バグやWikiページにタグを設定するものなど有用なプラグインが100個以上集められています。

Tracの現在の安定版のバージョンは0.10.4ですが,既にRuby on Railsなど多くのオープンソースのプロジェクトで利用されています。NASAのバグ管理システムとしても利用されており,Tracのサポートを行なう企業もあります。また,筆者の勤務先でもTracを利用しています。利用しているユーザやサイトは,http://trac.edgewall.org/wiki/TracUsersから確認できます。また,次のバージョンの0.11もまもなくリリース予定です。0.11では,バグのステータスをカスタマイズできるようになるなど,多くの改良点があります。

Tracは非常に多くの機能を持っています。その中から今回は,TracとSubversionの連携を中心に説明します。

Tracのインストールと設定

Tracのインストール方法と基本的な設定を説明します。本格的にTracを導入するためには,ApacheやPython,関連するライブラリのインストールが必要です。Linux環境ではパッケージ管理が充実していため,比較的簡単に導入できます。一方,Windows環境で一からこれらのソフトウェア,ライブラリをインストールして,Tracの動作環境を整える作業は非常に煩雑になります。幸い,WindowsでもTracを簡単に導入するためのプロジェクトが進行しており,All-In-One TracTrac月を使うことで,簡単に運用が始められます。All-In-One TracはTracのバージョン0.9を元に作られています。Trac月はバージョン0.10をベースにしています。両者とも,TracだけでなくSubversionやTracとSubversionとの連携機能も標準でインストールされます。Trac月の方が機能が充実しており開発も活発なため,これから導入する場合はTrac月をインストールすることをお勧めします。

サーバにはLinuxを使っている方が多いと思います。筆者の勤務先でも,ほとんどのサーバがLinuxで構成されています。また,バージョン管理システムとして既にSubversionを導入済みで,Tracはまだ導入していない方も多いと思います。ここでは,基本的なソフトウェア構成を学ぶと言う観点と,既存システムにインストールする場合を顧慮して,Ubuntu Linux 7.10を使ってTracのインストールと基本設定を行なう方法を説明します。また,SubversionサーバをApache経由で使用する方法も説明します。

まず,TracとApache,ApacheのSubversionとの連携モジュールとmod_pythonをインストールします。Tracは単体でもWebサーバの機能やCGIとして動作する機能を持っていますが,mod_pythonを使って運用する方がパフォーマンス面で優位です。これらのソフトウェア・モジュールをインストールするには,次のコマンドを実行します。

$ sudo aptitude install trac apache2 libapache2-svn libapache2-mod-python

次にリポジトリ上のソースコードをシンタックスハイライトするためのモジュールをインストールします。Trac 0.10では,シンタックスハイライトのために,SilverCityかenscriptモジュールを使用できます。enscriptはUbuntuのパッケージになっているので,ここではenscriptを使用します。SilverCityを使いたい場合は,ソースコードをダウンロードして,ビルド/インストールする必要があります。enscriptはSilverCityに比べて多くの言語に対応していますが,処理速度はSilverCityの方が優れています。SilverCityとenscript両方がインストールされている場合は,SilverCityが使われます。なお,次期バージョンのTrac 0.11からは,ソースコードハイライトにPygmentsが使われるようになります。

enscriptをインストールするには,次のコマンドを実行します。

$ sudo aptitude install enscript

著者プロフィール

大谷弘喜(おおたにひろき)

アリエルネットワーク株式会社所属。P2PアプリケーションやWebアプリケーションの設計,開発。Python大好き。

コメント

コメントの記入