2009-08-16 4 views
2

Hudson、Ant 1.7、Tomcat 6.20、JDK 1.6およびJDK 1.5を使用。 Windowsのすべてのボックスにあります。 WARファイルのハドソン連続統合サーバー:WindowsでマップされたAntの表示ディレクトリを確認するには?

私のAntビルドスクリプトは、リモート・サーバに格納されているJARファイルを使用しています。 Windowsでは、リモートサーバーへのディレクトリパスがネットワークドライブとしてマップされます。 build.propertiesファイルは、JAR依存関係へのパスを指定するために使用されます。コマンドラインまたはEclipseのいずれかでAntをビルドすると、WARがビルドされ、正常にデプロイされます。 build.propertiesから

例:

lib.log4j =のS:上記エントリに/Support/JARs/log4j-1.2.15.jar

、Windowsで割り当てられたネットワークドライブは " S "ドライブ。

現在、私のローカルワークステーションでHudsonを評価しています。 Hudsonでは、マップされたネットワークドライブパスをJARに使用しようとすると、ビルドが失敗します。 JARをローカルディレクトリにコピーして(C:/ Support/JAR内にあるように)、ビルドはWARのコンパイルと作成に成功します。

どのように私は、ハドソンがマップされたネットワークドライブのパスを尊重するために得ることができますか?また、HudsonのユーザーインターフェイスでAntの引数を渡さなくてもかわりに、代わりに実際にbuild.propertiesファイルを使用する方法がありますか? Hudsonはbuild.propertiesを読むことができないようです。

多くのありがとうございます。

マイクQuentel

+0

エラーメッセージを投稿できますか? – rodrigoap

答えて

8

私は、Windowsサービスとしてハドソンを実行していると仮定します。サービス環境は、通常のユーザーとは多少異なります。たとえば、ネットワークの特典が最小限に抑えられているか、まったくない場合などです。また、ドライブマッピングはログオン時に発生し、ユーザーセッションに固有です。サービスはユーザーがログオフしてドライブがマップされていない状態でも実行する必要があるため、これらのドライブを実際に見ることはできません。

あなたはネットワークprivelegesを持つアカウントを使用するためにハドソンのサービスを設定してみてください、とUNCパス(\サーバタイプのパス)を使用するようにビルドスクリプトを変更することができます

他の代替は何をするで実行されて奴隷に構築しますログインしているユーザーアカウントから。それは動作しますが、それは厄介です。便利な情報と

いくつかのリンク:

  1. INFO: Services and Redirected Drives
  2. Descriptions of some best practices when you create Windows Services
0

ジム・Tは、あなたの優れた答えをどうもありがとうございました!

要約すると、Windowsでは、TomcatインスタンスはWindowsマップドライブ(これらの権限を持つユーザーアカウントでTomcatを実行する1つのソリューション)に対する権限を必要とし、UNCパスを使用する必要があります(// remote_server_name/directory_path )。 Linuxでは、リモートでマウントされたWindowsドライブを使用できます(mountコマンドを使用)。

私はやっての第二の提案は奴隷でビルドをしようとしませんでした。

関連する問題