【问题标题】:Is there an ant library to execute remote commands in an ant like fashion?是否有一个 ant 库可以像蚂蚁一样执行远程命令?
【发布时间】:2012-02-20 10:23:30
【问题描述】:

我不是在谈论 sshexec 任务,我想要一个库,它可以让我使用 ant 的所有功能,但不是在本地做事,而是在远程主机上做。

例如使用复制、移动重命名等,但在远程主机中而不是在本地。

我知道 sshexec 可以实现类似的事情,但是一旦我登录到机器我必须使用 shell,而我希望能够使用普通的 ant 任务。

编辑:

我刚刚发现了 sshsession 任务,它可以让您封装 ant 任务以远程运行,或者至少手册上是这么说的:http://ant.apache.org/manual/Tasks/sshsession.html

我已经用这个简单的 build.xml 对其进行了测试:

<project name="project" default="default">

    <!-- ================================= 
          target: default              
         ================================= -->
    <target name="default" description="description">
        <sshsession host="${host}" username="${username}" password="${password}" trust="yes">
            <sequential>
                <mkdir dir="/tmp/sshtest"/>             
            </sequential>
        </sshsession>

    </target>


</project>

运行时得到如下结果:

 default:

    [sshsession] Connecting to my.server
        [mkdir] Created dir: C:\tmp\sshtest
    BUILD SUCCESSFUL

它不是在远程服务器上创建目录,而是在我的 PC 上本地创建它。有什么想法吗?

【问题讨论】:

  • 我猜sshsession 并没有像我想象的那样执行。所以我的问题仍然悬而未决。
  • 如果不假设软件首先安装在远程节点上,您要查找的内容很困难。要获得“蚂蚁的力量”,您必须先上传 ANT jar。
  • sshsession 旨在打开本地计算机和远程计算机之间的隧道,通过该隧道,某些应用程序可以访问某些服务(网络端口),就好像它们在同一台计算机上一样。如果你真的想在远程机器上运行一些东西,你必须先部署一些东西——不管它是什么。
  • 您是否满足sshsession 任务的以下先决条件? 此任务依赖于 Ant 发行版中未包含的外部库。有关详细信息,请参阅库依赖项。此任务已使用 jsch-0.1.33 及更高版本进行测试,不适用于 0.1.28 之前的 jsch 版本

标签: ant ssh


【解决方案1】:

我认为这不是你所追求的,你可以试试 AntServer / RemoteAnt from ant-contrib

【讨论】:

  • 感谢您为我指出这一点,正如您所说的不完全是我需要的,但我猜它是最接近的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-05
  • 1970-01-01
  • 2015-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多