在远程Linux服务器上运行ANT命令

时间:2015-06-22 15:34:19

标签: linux ant redhat

我在一个Linux机器上有一个Ant脚本,它在该机器上本地执行一系列任务。我想在其他Linux机器上利用相同的脚本。

有没有办法告诉Ant通过SSH连接到远程linux盒子然后运行一系列任务就好像它在那台服务器上,而不是将Ant脚本复制到远程服务器上?

我知道可以使用sshexec,但我必须为每个task执行此操作,最终会成为不同的脚本。

<sshexec host="${remote.host}"
         username="${remote.user}"
         password="${remote.pass}"
         trust="true"
         command="rm -rf ${remote.webapps.path}/ROOT*">

1 个答案:

答案 0 :(得分:1)

  1. 您可以封装在shell脚本中执行的所有步骤,并通过sshexec

  2. 调用它
  3. 您还可以编写一个参数化的ant宏/目标来捕获所有ssh命令。在这种情况下,您需要做的就是使用命令/脚本调用此目标,这样可以减少复制粘贴命令的负担

  4. 您始终可以通过参数For ex

    传递特定命令
    <macrodef name="ssexec-wrapper>
             <attribute name="exec-command/>
             <attribute name="remote.host"/>
             ##Other variables as required
             <sequential>
                <sshexec host="@{remote.host} ... command=@{exec-command} failonerror="false|true"/>
             </sequential>
    
    </macrodef>