我的QQ:18324258 朋友们,如果需要交流,请直接联系我的QQ,并说明相互学习,不要留给我QQ号,我不会动不动就上来看的。希望多交流,谢谢!

Ant脚本 ftp、telnet、ssh 使用(自动构建之五)

上一篇 / 下一篇  2009-06-09 15:28:06 / 个人分类:SCM

 

1      编写脚本前说明

1.1   需求:远程部署

1.2   详细描述:

1、将编译完成的文件COPY到远程服务器上。

2、执行远程服务器上的批处理命令,进行清理TOMCAT,并进行发布。

1.3   操作系统

Windows2008(ant编译机)windows2003(发布应用的服务器)

1.4   依赖:

jakarta-oro-2.0.8.jar

下载地址:http://archive.apache.org/dist/jakarta/oro/

 commons-net-1.4.1.jar

下载地址:http://apache.mirror.phpchina.com/commons/net/binaries/

放在引用LIB目录下,虽然ANT里特别提到不要放到ANT安装目录的LIB下,不过我还是放在下面了。

1.5   类定义:

 <taskdef name="telnet" classname="org.apache.tools.ant.taskdefs.optional.net.TelnetTask"/>

1.6   其它说明:

1、          使用FTP时,必须使用被动模式。服务器上需要安装FTP服务。

2、          使用TELNET时,服务器端的TELNET服务需要打开。并且不使用验证方式NTLM。可以使用tlntadmn设置。

3、          使用SSH时,服务器上也需要安装SSH服务。

2      脚本例子

2.1   ANT FTP脚本

<?xml version="1.0"?>
<project>  

  <target name="ftp" description="ftp" >

    <ftp server="172.16.91.4"

             userid="ftp"

             password="ftp">

        <fileset dir ="${RELEASE_12580_DIR}">

        </fileset>

    </ftp>

</target>

</project> 

 

2.2   ANT TELNET脚本

 

<?xml version="1.0"?>
<project>  

 <target name="telnet" description=" telnet ">

   <telnet userid="administrator" password="**********"

           server="172.16.80.228" port="23" initialCR="yes" timeout="50">

      <read timeout="30">*</read>

      <write>start e: \test.bat</write>

   </telnet>

  </target>

</project> 

 

出现的问题:

1、          使用ANT调用FTP时,客户端的防火墙需要进行设置,不限制FTP程序。

2、          TELNETWINDOW的支持感觉很差,尝试了多次,有时成功有时不成功。最终放弃。TELNET不支持进行本地某个目录。如<write>cd e:\test</write>这样是不可以的。另外由于不能进入本地的某个目录,所以也无法使用<read timeout="30">e:\test</read>来验证是否进入想要登录的目录,无法决定是否发送下次指令。而ANTTELNET只有<read>指令读取成功,才会进行下一条。所以发送<write>指令无法控制。

3、          还有一个问题是,telnet到服务器后,用tlntadmns查看,都是一连接,就马上断开了,所以有时无法执行远程的批处理命令。不能稳定地运行。目前不知道解决方法

2.3   ANT SSH脚本

 <?xml version="1.0"?>
<project>  

 <target name="sshexec" description="sshexec”

    <sshexec host="172.16.91.4"

      username="administrator"

         assword="***********"

         port="22"

         trust="true"

         command="i:/ecom/deploy_test.bat"/>

  </target> 

 </project>  

 


TAG:

 

评分:0

我来说两句

Open Toolbar