Eclipseとの連携

EclipseMaven Eclipse Plug-inを使ってMaven2が操作できる。

> mvn archetype:create -DgroupId=mydomain.myproj -DartifactId=MyJar
> cd MyJar
MyJar> mvn eclipse:eclipse

WARタイプのプロジェクトを作成する場合は、最初のコマンドを以下に。

> mvn archetype:create -DgroupId=mydomain.myproj -DartifactId=MyWar -DarchetypeArtifactId=maven-archetype-webapp

Trac

単なるBTSでなくて複合的なサーバらしいので敬遠してた。ただ、Bugzillaのセットアップがそんなに面倒ならいっそTracを構築してみることにする。

[Python] Win版日本語対応Pythonのインストール

TracPythonが必要。Tracのサイトに「2.4はダメよ」と断ってあるので2.3を。

日本語なサイトにhttp://www.python.jp/Zope/download/pythonjpdistを発見したので、ありがたくこちらを使用。2.3.4

[ClearSilver] ClearSilverのインストール

Tracの要件として

With python-bindings (./configure --with-python=/usr/bin/python)

なんて書いてあるが、ClearSivlerのダウンロードの記述されたURLに置いてあるreadme.txtを見ると

clearsilver-0.9.14.win32-py2.3.exe :
*p3* clearsilver-0.9.14
  + patch for python binding (http://groups.yahoo.com/group/ClearSilver/message/452)
*p4* Python 2.3 (official binaries for Windows)
*p5* mingw 3.3.1 (mingw special 20030804-1) (the one included with Dev-Cpp 4.9.9.0)
  * using cygwin for chain tools (not MSYS)

とあるので安心してインストール

[PostgreSQL]

ダウンロードのリンクに[postgresql-8.1.3-1-ja.zip]という日本語化バイナリがあったので、ありがたくインストール。

Subversion

すでにインストール済みなので、svn-win32-1.3.0のみ。
ダウンロードして、展開したファイルからpython/下の2つのフォルダを${Python}\Lib\site-packagesにコピー

docutils

ファイルを展開して、コマンドプロンプトで展開先フォルダから以下のコマンド

"C:\Program Files\Python23\python" setup.py install

[mod_python]

Apache2上で動かしたいのでmod_pythonのインストールとセットアップ

Win32版バイナリを求めてリンクを辿ってmod_python-3.2.8.win32-py2.3.exeをダウンロード

インストーラを起動すると、Pythonの場所とApache2の場所を聞かれるので指定。
インストール完了後に、${A{pache}/conf/httpd.confを開いて以下を追加。

LoadModule python_module modules/mod_python.so
<Location /trac>
  SetHandler mod_python
  PythonHandler trac.web.modpython_frontend 
  PythonOption TracEnvParentDir "D:/WEB-Server/share/trac"
  PythonOption TracUriRoot /trac
</Location>

ここでは、「D:/WEB-Server/share/trac」が下記のTracインストール先として指定している。つもり
注:この指定は恐らく間違ってます。後日訂正します。
httpd.confの設定はココを参考に。

Tracのインストール

インストール先を「D:/WEB-Server/share/trac」とする場合、以下のコマンドを入力

"C:\Program Files\Python23\python" setup.py install --prefix="D:\WEB-Server"

さて、ブラウザから見てみる. . .
ぬぅ、なんか思ったのと違う画面。失敗してるっぽい?

脱力感でウェブ検索したら、Windows版のインストール方法などをまとめてるサイトを発見!

最初からこっちを見ればよかったね。明日やろう. . .

Bugzilla

次は有名どころとしてBugzillaを検討してみる。

配布元の情報に「Windowsで動かすならココを見ろ」とあるので見た。

MySQLは既にインストール済みなので良いとして、ActiveState Perlやらイロイロと必要なものがある。
めんどい

Bugzillaの構築は後回しにする。

の所感

とりあえず立ち上がったので、隣に座っているパダ・ワンとイロイロいじってみる。

まず最初に

  • 分かりにくい!

やっぱりBTSなら、直近のアイテムなり更新情報なりが最初に目に付いて欲しかったんだけど。今後、チームなメンバに押し付けるには、拒否反応が予想されるなぁ。

  • 項目が多い=自由度が高い?

案件を登録するのに入力項目が多い。つまりは自由度が高いってことだろうけど、まだ得たいの知れない状況で使うには戸惑う。これはメンバが新規参入したときにも同じことだろう。社内に広めるのも難しいなぁ。

  • システム設定が不明

運用後に、どこをどう変えれば良いのか見つからない。ビルド前にpropertiesファイルで指定すればできそうだが、再ビルドするのが面倒。

  • anonymousのメール配信を止めれないかな

anonymousにもメールアドレスがあり、変なところに飛ばないよう自分宛にしてる。このために"お試し"で作ったプロジェクト(モジュール)からバンバン飛んでくる。設定を見ても必須項目になってるので、止めれない?

scarabのインストール

scarab.tigris.orgから1.0.b20をダウンロード。
展開したファイルに「INSTALL」というテキストファイルがあるので、読めば大体わかる。
あらかじめ、ネット検索して日本語なサイトも見つけてあったので、これも参考に。

なんだ、バイナリリリースぢゃないのか...

まぁ、WEBアプリなので当たり前っちゃぁ当たり前。

maven1.xとANTの2種類の手段があるらしいが、mavenは思いっきり2.xを使用中で別途インストールするのも面倒なので、ここではANTで。
およそ以下の手順

  1. minimal.propertiesファイルをbuild.propertiesとしてコピー
  2. 設定を修正
  3. ビルドとDBの創成
  4. デプロイ

設定を設定

コピーしたbuild.propertiesを見ると大体の見当が付いた。あとは、フルセットだと言われているproject.propertiesと見比べて足りないのを足していった。
設定値が「**GENERATED**」となっている箇所があるが、これはこのままでデフォルト値を入れてくれるらしい。

メールサーバ

メールを配信するためのSMTPサーバを指定

  • system.mail.host=
  1. 会社のネットワークに居るので、誤射メールの場合に管理者から怒られそう。以下の項目でScarabから発信するメールのFrom:欄を指定することができるらしい。
    • scarab.email.domain=
    • scarab.email.default.fromName=
MySQLへのアクセス設定

この時点で専用アカウントやDBインスタンスは無くてもいいらしい

  • scarab.database.username=(scarabにした)
  • scarab.database.password=
  • scarab.database.admin.username=(DB CREATE権限のあるアカウント)
  • scarab.database.admin.password=
MySQLの日本語入力の指定

フォームなどの入力日本語が再表示時に文字化けてしまったので、以下を追加。

  • scarab.database.url.extension.mysql = useUnicode=true&characterEncoding=utf8

(scarab.database.url.extension=**GENERATED**の下に)

メールのエンコード指定

使ってみて気づいたのが、MySQL設定と関係あるのか、メールのエンコードがUTF8になっている。これでは8bitなのでSMTPの経路によっては文字化けに。
http://scarab-ja.sourceforge.jp/cgi-bin/hiki.cgi?%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB#l6に従って以下を追加。

自身のURLの指定

これも後から気づいて修正したものだが、メール配信される承認や許可の本文に記載されるURLが"localhost"になってしまっている。以下の項目をしていることで解消。

  • scarab.http.domain=

ビルドとDB創成

cd 展開したフォルダ/build
ant

でできる。
これで配布物に含まれるTomcatへのデプロイまでやってしまうが、build.xmlを見る限りデプロイのdependsが複数のtargetで構成されているので、これが簡単。
DB創成は、この後で以下のコマンド。

ant -Dskip.seed.data=true create-db

イロイロ試していたために、設定とビルドを何度も繰り返したが、この場合は毎回生成物を削除してからやり直さなければならないっぽい。

ant clean-all
Java5環境の場合

構築環境がJava5だったので、そのままビルドすると警告が。気持ち悪いのでbuild/build.xmlを修正

        <javac srcdir="${src.java.dir.scarab}"
               destdir="${build.dest.scarab}"
               debug="on"
               source="1.4" ←追加
               deprecation="off"
               optimize="off">

デプロイ

すでにTomcat5.5が稼働中なので、添付Tomcatを使わずに、こちらにデプロイ。

ant war

とやると、target/にscarab.warが出来るので、これを手作業でコピーする。

日本語化の修正

http://scarab-ja.sourceforge.jp/cgi-bin/hiki.cgi?%A5%ED%A1%BC%A5%AB%A5%E9%A5%A4%A5%BAによると、

※ 注意: scarab 1.0 b20 に含まれるリソースバンドルファイルは古いため、そのまま使用するといくつかのページで例外が発生してしまいます(例: 共通属性の設定画面)。これを回避するには最新のリソースバンドルを入手して使用してください。

だそうなので、素直に従う。

指示されたURLからファイルをダウンロードし、デプロイした先のwebapps\scarab\WEB-INF\classes\に上書きした。あるいは、ビルド前にD:\TestWork\scarab-1.0-b20\src\conf\classes\に上書きしても行けそう。

MySQLのインストール

まずは、MySQLからダウンロード。MySQL Community Editionの5.0.20aでした。
Windows版はインストーラ付きで、ウィザードに従うだけ。楽だ
途中でDBタイプを聞かれるけど、ざっとネット検索したところ今回の目的としてはどうでもいいっぽい。デフォルトのままで。

ついでに、管理用ツールもダウンロードしてインストールしておく。

こいつらがあれば、コマンドを忘れてもGUI操作できるので便利!

siteプラグインとContinuous Integration

JavaWorldのCI特集を見てたら、"ビルドツールにMaven"って結構スタンダードなんだね。

maven siteとどう連携させればいいんだろう?」とか、漠然と考えてみた。ビルドの過程にsiteを入れればいいのかな?あるいは、siteってプロジェクト立ち上げ時とかに1回使ったきりで、繰り返し更新なんてしないのかな。

個人的には、ドキュメントも含めて最新のものを管理したい。