我已经设置了一个环境,在这个环境中,我使用Ant build.xml
完成了所有svn结账/更新,编译,制作战争,创建所需环境的过程。我也愿意通过Ant build.xml
部署构建的war文件。
我成功地使用build.xml
将应用程序部署到Linux机器上,使用SCP任务将代码部署到Tomcat webapps目录中,并使用以下代码。
<target> <scp trust="true" file="antproject1.war"
todir="${tomcat.username}@${tomcat.server}:${tomcat.webapps.dir}"
password="${tomcat.password}"/> </target>
但我不知道将什么任务用于添加到ANT_HOME
的jar文件,以便将war文件从本地计算机发送到远程Windows计算机。
答案 0 :(得分:3)
Windows本身不支持SCP。
您可以安装第三方SCP服务器。虽然大多数优秀且易于安装的SCP服务器都是商用的。
特别是Windows IIS服务器本身仅支持FTP(或FTPS) 请参阅我的指南Installing secure FTP server on Windows using IIS。
运行FTP服务器后,请使用Ant FTP task。
<ftp server="example.com" userid="username" password="password">
<fileset dir="path">
<include name="antproject1.war"/>
</fileset>
</ftp>
有关更多示例,请参阅Ant FTP task documentation。
虽然注意到Ant FTP任务不幸地不支持TLS / SSL加密。因此,与我的指南中的建议相反,您必须允许与IIS进行未加密的连接。
如果要使用安全连接,则必须使用an Ant Exec task并运行外部FTPS客户端。
例如WinSCP:
<exec executable="winscp.com">
<arg value="/command"/>
<arg value="open ftps://username:password@example.com/"/>
<arg value="put c:\localpath\antproject1.war /remote/path/"/>
<arg value="exit"/>
</exec>
有关详细信息,请参阅guide to WinSCP scripting。
优点可能是WinSCP也支持SCP(和SFTP)协议。因此,对于Linux SCP / SFTP和Windows FTP / FTPS,您可能拥有相同的代码(session URL除外)。
(我是WinSCP的作者)