9

ハドソンでmaven2プロジェクトを継続的インテグレーションの下に置こうとしています。このプロジェクトでは、一部の統合テストにセレンを使用しています。Hudson はヘッドレス Linux で実行されています。xvfb を使用して、セレンの ax サーバー セッションを開始しています。

テストを実行するには、DISPLAY という名前の環境変数をエクスポートする必要があります。例えば

export DISPLAY=:99

ただし、すべてのビルドに影響するため、ボックスに変数を設定したくありません。m2 追加ステップ プラグインを使用してシェルを実行しようとしましたが、別の bash ファイルで実行されるため機能しません。つまり、環境変数が永続化されていません。

hudson から環境変数を登録する方法はありますか。

4

6 に答える 6

10

参考までに、今日、Hudson 用の setenv プラグインをリリースします (java.net が十分に回復すると仮定します!) - パラメータ化されたビルド機能と同様に動作しますが、よりシンプルな UI (入力用のテキストエリアのみ - key/値のペアは改行で区切られます)、ビルド時にパラメーターの値を指定する必要はありません。

于 2009-09-29T22:23:07.350 に答える
4

ビルドのパラメーターを指定できる Hudson の新機能があります。これは、あなたが望むことをしているように見えます。

ただし、次のことに注意してください。

警告 これはまだ非常に新しい機能なので、フィードバックをお待ちしております

...

パラメーターは、環境パラメーターとして使用できます。たとえば、シェル ($FOO, %FOO%) または Ant ( ${env.FOO} ) はこれらの値にアクセスできます。

于 2009-08-25T18:28:34.560 に答える
3

Hudson の Node Properties は、ここでうまく機能します。しかし、より自動化された画面番号の割り当て方法を探している場合は、おそらくport-allocator プラグインに結び付けるか、xvfb を自動的に起動する新しい BuildWrapper プラグインを作成するなど、もう少し作業を行う必要があります。ビルドに代わって SCREEN 環境変数を設定します。

テストのために別の X サーバーに切り替えたい場合は、Hudson 用のXvnc プラグインを試すことができます。vncserver が自動的に起動し、SCREEN 環境変数も設定されます。また、テストが終了したときにスクリーンショットを撮り、それをジョブの Hudson ページに表示する機能もあります。

于 2009-08-25T19:32:49.843 に答える
1

Selenium maven プラグインを使用しようとしましたか?

プラグインは、Xvfb を開始し、テストを実行してから停止するように構成できます。

この pom.xml 構成を使用します。

<plugins>
    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>selenium-maven-plugin</artifactId>
        <executions>
            <execution>
                <id>xvfb</id>
                <phase>pre-integration-test</phase>
                <goals>
                    <goal>xvfb</goal>
                </goals>
            </execution>

            <execution>
                <id>selenium</id>
                <phase>pre-integration-test</phase>
                <goals>
                    <goal>start-server</goal>
                </goals>
                <configuration>
                    <background>true</background>
                </configuration>
            </execution>
        </executions>
    </plugin>
</plugins>

詳細はこちら: http://mojo.codehaus.org/selenium-maven-plugin/examples/headless-with-xvfb.html

于 2010-05-18T19:38:12.217 に答える
0

受け入れられた回答に対する私の回答によると、ここに私の調査結果があります。

初期化されていない変数に注意してください

Hudson のパラメーター化機能を使用する場合、文字列の末尾に環境変数を追加できます (最初に何かが含まれている場合)。

たとえば、環境変数 $FOO が空白で、文字列パラメータで次の行を使用するとします...

/usr/bin/ladeda/:$F00

環境変数は /usr/bin/ladeda/:$F00 になります。

しかし、私がした場合

export F00=/usr/bin/fiddledede

エクスポートされた変数は....

/usr/bin/ladeda/:/usr/bin/fiddledede

これを最初にテストとして実行したとき、私はこれを解決していませんでした。そのため、パラメーター機能が実際には外部環境変数を受け入れていないと思っていました (何かを含める必要がありました)。

于 2009-09-07T13:04:31.790 に答える