一度に 2 台の異なるマシンにアプリケーションをデプロイするために使用する Ant スクリプトがあります。ローカルマシンでは問題ありませんが、リモートマシンに関しては、Jboss が起動しているかどうかを確認したいと考えています。稼働している場合はシャットダウンしたいのですが、稼働していない場合は何もしないでください。<sshexec>
asの属性を保持することでこれを実行しようとしましたfailonerror="on"
。これは、Jboss がすでにダウンしていて、shutdown コマンドでエラーが発生するだけの場合にうまく機能します。しかし、私が直面した本当の問題は、Jboss が実行されていて、シャットダウン コマンドが実行されたときに、適切にシャットダウンされず、エラーが発生したことでした。このような状況で、ビルド スクリプトを停止し、他のマシンの Jboss に問題があり、調べる必要があることをユーザーに知らせたいと思います。
リモート Jboss を停止するためのターゲット コードは次のとおりです。
<target name="stopRemoteJboss" description="Stops Remote Instance of Jboss">
<echo message="Stopping Remote Jboss" />
<sshexec trust="true" host="${jboss.remote.host}" username="${jboss.remote.username}" password="${jboss.remote.password}" command="${jboss.remote.home}/bin/shutdown.sh -S" port="${jboss.remote.port}"/>
</target>