2011-10-24 60 views
1

我對ANT及其工作非常陌生,所以如果這個問題太原始了,那麼請多加留意:)。ANT執行/捕獲遠程命令/腳本結果

背景:

我有我的Tomcat和ANT的建立在我的Windows服務器。
我將不得不在多個遠程目標操作系統 - AIX/HP/SUSE中構建項目。
所以我創建了一組插件(具有ANT代碼的.xml文件)並依次執行以獲得最終的構建包。

問題描述:
在構建執行的過程中,我需要在遠程機器執行一些任務(即AIX/HP/SUSE)服務器,然後基於該結果,需要採取行動
像例如 -

    基於遠程服務器空間的可用性
  • - 標記構建如在預先設置的失敗。
  • 檢查是否有在DOS模式和標誌構建爲故障轉移的任何文件..等

這些大多將在shell腳本編寫(它可以在所有3操作系統下運行) - 將會返回1失敗和0成功。

問:

  • 如何在遠程計算機上執行 「命令」,用ANT從Windows服務器獲取的結果?我知道我們可以使用telnet/write/read ANT命令來執行遠程執行 - 但是如何捕獲結果 - 就像從shell腳本輸出一樣。

  • 或者更好,是否有辦法遠程執行ANT插件(xml)文件並捕獲構建失敗/成功結果?像螞蟻-f <remoteMachine><passwd><path><file>

回答

1

建議你考慮使用Ant sshexec task。除非您已經擁有它,否則您可能需要獲得Ant-external JSch library才能使用它。當遠程命令失敗時,可以將sshexec任務設置爲失敗,也可以將遠程命令的輸出捕獲到屬性。

此外,由於您是Ant的新手,我建議您瀏覽Ant tasks overview以瞭解Ant的功能。

+0

+1 @kumar_m_kiran您也可以嘗試使用'exec'(請參閱:http://ant.apache.org/manual/Tasks/exec.html)命令行:ssh [USER-NAME] @ [ REMOTE-HOST] [命令或腳本]: –