1

サーバーのテストとシャットダウンに並列タスクを使用しています。

コードは次のとおりです。

        <target name="runandtest" description="run the server and test it">
          <parallel  timeout="1380000">
            <sshexec host="XXX.XX.XX.XX" username="XXXXX" password="xxxxxxxxx" trust="true" command='cd test;nohup bin/server > log.txt'/>
            <sequential>
              <sleep seconds="1200"/>
              <!-- run test-->
               <scp file="XXXXXX:XXXXXX@XXX.XX.XX.XX:/home/XXXXX/test/log.txt" todir="/ant/" trust="true" />           
               <mail enableStartTLS="true" mailhost="smtp.gmail.com" mailport="587" user="XXXXXXX" password="XXXXXXX" subject="Run test"  from="XXXXXXXX" tolist="XXXXXXX" files="log.txt" message="blabla"/>
            <!-- FAIL BELOW  -->       
               <sshexec host="XXX.XX.XX.XX" username="XXXX" password="XXXXX" trust="true" command="kill $(ps aux | grep '[s]erver' | awk '{print $2}')"/>
            </sequential>
          </parallel>
        </target>

コメントを書いた場所でビルドが失敗します。

テストが完了したら、同じサーバーで ssh を実行し、最初の並列タスクのプロセスを強制終了するだけなので、これは非常に論理的です。

しかし、私の run-test-shutdown プロセスでは、これは完全に正常な動作であるため、この BUILD FAIL エラーをキャッチして、ant プロジェクトを続行できるかどうか疑問に思っていました。

ありがとうございました。

4

1 に答える 1

1

Ant sshexecタスクには、failonerrorデフォルトで true に設定された属性があります。おそらく、シャットダウン ターゲットに対してこれを false に設定できます。

于 2013-02-28T02:03:27.453 に答える