[Seasar-oper 235] Re: mavenリモートレポジトリの使用について

Jun Futagawa jfut
2005年 7月 9日 (土) 05:47:51 JST


ふたがわです。

サーバからの視点で書いてみました。

>>たとえば、http://genapp.seasar.org とか、
>> http://maven.seasar.org ではどうですか?私がMavenに
>>詳しくないので適切なのか不明ですが。。。
> 
> Maven リポジトリとしては http://maven.seasar.org/ に一票.
> で,Eclipse プラグインも同様ですが,上記の URL に HTTP で
> アクセスできる必要があります.
> なので,仮想ホストとか DNS の設定とかが必要... か?

サブドメインにする場合は、1プロジェクトとみなして設定しますので、
仮想ホストやDNSは問題ないです。

> リポジトリへのファイルの配置は www.seasar.org のように SVN
> 経由ではなく,ssh (scp) するのがよさげっぽいです.

これはどちらでも可能ですが、両方混在にするとサーバ上の公開ディレクトリが
汚くなっていき、どれがリポジトリのファイルなのかSCPでアップしたファイルなのか
判らなくなっていきます。もしアップするのが静的なコンテンツだけでしたら、
SVNを利用する方が一貫性は取れて良いと思います。
 
> なお,maven.seasar.org でアクセスできる Maven リポジトリへの
> ファイルの配置は,genapp チームだけでなく,S2 本体や S2Dao など
> 個別の開発プロジェクトでも行うことになります.
> Sandbox プロジェクトも Maven リポジトリからリリースしたいかも.

MavenリポジトリはSandboxプロジェクトを含めて各プロダクトも持つ可能性が
あるものだと思いますので、各プロジェクトのSVNリポジトリの特定箇所を
http://maven.seasar.org/*****/ に自動的にエイリアスを貼るというのは
いかがでしょうか?

http://maven.seasar.org/eclipse/
  -> eclipseリポジトリの www/maven/ の中身を表示
http://maven.seasar.org/sandbox/maya/
  -> mayaリポジトリの www/maven/ の中身を表示

だとして、現在のSeasar.orgのApacheに↓の設定をしておけばそうなります。
AliasMatch ^/sandbox/([^/]+)/(.*) /home/groups/sandbox/$1/public_html/maven/$2
AliasMatch ^/([^/]+)/(.*) /home/groups/$1/public_html/maven/$2

この方法の場合、どのプロジェクトのリポジトリがあるのかIndex表示で把握
できないので、http://maven.seasar.org/に自動的に存在するリポジトリ一覧を
検出してindex.htmlを生成するスクリプトが必要になりますが、それはすぐに
作れるので問題ないです。

genappについては、これも一つのSandboxプロジェクトだとして、
genapp.sandbox.seasar.org を開設し、genappリポジトリのwww/maven/を
http://maven.seasar.org/sandbox/genapp/ にエイリアスを張ればすっきりします。

ただし、現在Seasar.orgサーバにすべてのプロジェクトが載っているわけでは
ないので、Mavenリポジトリを作れるのは、一部のプロジェクトだけに制限されて
しまいます。

それを解決する方法として、mod_proxyを使えば、下記のように他サーバの
ものも表示できますが、この場合リポジトリごとの設定をApacheに設定する
必要があり、数が増えると面倒です。
http://maven.seasar.org/eclipse/ にアクセス
  -> http://eclipse.seasar.org/maven/ の中身を表示
http://maven.seasar.org/sandbox/example/ にアクセス
  -> http://www.example.org/hogehoge/maven/ の中身を表示

ただ、この場合でもOSCJではMaven用にIndex表示が出来ないようなので、
結局SandboxプロジェクトはOSCJのリソースではMavenリポジトリを公開
出来ないことになります。

Sandboxは基本的にOSCJで運用ってことになっていますが、それを崩して
良ければ一つ目のAliasMatchのやり方がすっきりするのでそれをオススメします。

-- 
ふたがわ


operation メーリングリストの案内