Deploying with SCP
Another deployment task, available since Ant 1.6, is the
scp
task, which copies a file or
FileSet to or from a remote machine running the SSH daemon. This task is
an optional one, and you need jsch.jar in the Ant
lib directory to use it (you can get
jsch.jar at http://www.jcraft.com/jsch/index.html).
This task is handy for deployment. For example, here's how
to deploy a single file to a remote host (any host you connect to must
be listed in your knownhosts file unless you
specifically set the trust
attribute
to yes or true):
<scp file="Project.jar" todir="user:password@antmegacorp.com:/home/steven/cgi-bin"/>
You can use the password
attribute explicitly to set the
password:
<scp file="Project.jar" todir="user@antmegacorp.com:/home/steven/cgi-bin"" password="password"/>
Here's how to copy a remote file to a local machine:
<scp file="user:password@antmegacorp.com:/home/steven/cgi-bin/Project.jar" todir="${archive}"/>
Here's how to copy a set of files using a fileset:
<scp todir="user:password@antmegacorp.com:/home/steven/source"> <fileset dir="${src}"> <include name="**/*.java"/> </fileset> </scp>
Example 8-3
gives a complete example build file using the scp
task for deployment. (It uses the remote
machine's IP address instead of naming the remote server.)
Example 8-3. Using scp (ch08/scp/build.xml)
<?xml version="1.0" ?> <project default="main"> <property name="message" value="Deploying the .jar file." /> <property name="src" location="source" /> <property name="output" ...
Get Ant: The Definitive Guide, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.