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" ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access