ANT执行/捕获远程命令/脚本结果

时间:2011-10-24 06:18:24

标签: plugins scripting ant

我对ANT和它的工作都很陌生,所以如果这个问题太原始我就不用了:)。

背景:

我的Windows服务器中有TOMCAT和ANT设置 我将不得不在多个远程目标操作系统 - AIX / HP / SUSE中构建项目 所以我创建了一组插件(带有ANT代码的.xml文件)并按顺序执行以获得最终的构建包。

问题描述:
在构建执行过程中,我需要在远程机器(即AIX / HP / SUSE)服务器中执行某些任务,然后根据结果执行,需要采取措施。 例如 -

  • 基于远程服务器空间可用性 - 在预设中将构建标记为失败。
  • 检查是否在DOS模式下传输了任何文件,并将构建标记为失败等。

这些主要是用shell脚本编写的(可以在所有3个操作系统中运行) - 返回1表示失败,0表示成功。

问题:

  • 如何在远程机器中执行“命令”并使用ANT从Windows服务器捕获结果?我知道我们可以使用telnet / write / read ANT命令进行远程执行 - 但是如何捕获结果 - 比如说来自shell脚本的输出。

  • 或者更好的是,有没有办法远程执行ANT插件(xml)文件并捕获构建失败/成功结果?像ant -f <remoteMachine&gt; <passwd&GT; <path&GT; <file&GT;

1 个答案:

答案 0 :(得分:1)

建议您考虑使用Ant sshexec task。您可能需要让Ant-external JSch library使用它,除非您已经拥有它。当远程命令失败时,sshexec任务可以设置为失败,也可以将远程命令的输出捕获到属性。

此外,由于您是Ant的新手,我建议您浏览Ant tasks overview以了解Ant可以执行的操作。