Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: ce88bd2116
Fetching contributors…

Cannot retrieve contributors at this time

115 lines (95 sloc) 6.375 kb
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (C) 2010 Cloud Conscious, LLC. <info@cloudconscious.com>
====================================================================
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
====================================================================
-->
<project xmlns:artifact="urn:maven-artifact-ant" name="cargooverssh" default="cargooverssh" basedir=".">
<property file="build.properties" />
<property name="privatekeyfile" value="${user.home}/.ssh/id_rsa" />
<property name="publickeyfile" value="${user.home}/.ssh/id_rsa.pub" />
<property name="listenport" value="8080" />
<property name="container.zip" value="http://apache.imghat.com//tomcat/tomcat-6/v6.0.32/bin/apache-tomcat-6.0.32.tar.gz" />
<property name="warfile" value="build/sample.war" />
<!-- maven must be available before we use it -->
<delete dir="build/cargo"/>
<mkdir dir="build/cargo"/>
<get src="http://opensource.become.com/apache//maven/binaries/maven-ant-tasks-2.1.3.jar" dest="build/maven-ant-tasks"/>
<get src="http://tomcat.apache.org/tomcat-6.0-doc/appdev/sample/sample.war" dest="${warfile}"/>
<input
message="Which provider would you like to use (aws-ec2, bluelock-vcdirector, cloudservers-uk, cloudservers-us, cloudsigma-zrh, eucalyptus-partnercloud-ec2, elastichosts-lon-b, elastichosts-lon-p, elastichosts-sat-p, gogrid, openhosting-east1, serverlove-z1-man, skalicloud-sdg-my, slicehost, trmk-ecloud, trmk-vcloudexpress, greenhousedata-element-vcloud)?"
validargs="aws-ec2,bluelock-vcdirector,cloudservers-uk,cloudservers-us,cloudsigma-zrh,eucalyptus-partnercloud-ec2,elastichosts-lon-b,elastichosts-lon-p,elastichosts-sat-p,gogrid,openhosting-east1,serverlove-z1-man,skalicloud-sdg-my,slicehost,trmk-ecloud,trmk-vcloudexpress"
addproperty="provider"
/>
<!-- initialize maven tasks -->
<path id="maven-ant-tasks.classpath" path="build/maven-ant-tasks"/>
<typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="urn:maven-artifact-ant" classpathref="maven-ant-tasks.classpath"/>
<!-- Setup maven so that we can get latest version of jclouds, jclouds, and jruby -->
<artifact:dependencies pathId="jclouds.classpath">
<dependency groupid="com.jcraft" artifactId="jsch" version="0.1.44-1"/>
<dependency groupid="org.codehaus.cargo" artifactId="cargo-ant" version="1.0.6"/>
<dependency groupid="org.codehaus.cargo" artifactId="cargo-core-container-tomcat" version="1.0.6"/>
<dependency groupId="org.jclouds.provider" artifactId="${provider}" version="1.1.0" />
<dependency groupId="org.jclouds" artifactId="jclouds-antcontrib" version="1.1.0" />
</artifact:dependencies>
<typedef name="compute" classname="org.jclouds.tools.ant.taskdefs.compute.ComputeTask" classpathref="jclouds.classpath" />
<taskdef name="sshexec" classname="org.apache.tools.ant.taskdefs.optional.ssh.SSHExec" classpathref="jclouds.classpath" />
<taskdef resource="cargo.tasks" classpathref="jclouds.classpath"/>
<input message="What is your identity on ${provider}?" addproperty="identity"/>
<input message="What is the credential for ${identity}?" addproperty="credential"/>
<input message="What is the group for the deployment?" addproperty="group" defaultvalue="cargo"/>
<property name="url" value="compute://${identity}:${credential}@${provider}"/>
<target name="destroy" description="destroy the nodes ${group}">
<compute actions="destroy" provider="${url}">
<nodes group="${group}" />
</compute>
<sleep seconds="5" />
</target>
<target name="create" description="create the nodes ${group}" >
<compute actions="destroy,create" provider="${url}">
<nodes group="${group}" os="UBUNTU" hardware="SMALLEST"
runscript="runscript.sh" openports="22,${listenport}"
privatekeyfile="${privatekeyfile}" publickeyfile="${publickeyfile}"
hostproperty="host" usernameproperty="username" />
</compute>
</target>
<target name="cargooverssh" depends="create" description="run cargo on remote nodes" >
<echo message="deploying tomcat and sample app to to: http://${host}:${listenport}/sample/" />
<echo message="note that eventhough cargo says ctrl-c stops the server, you really need to run ant destroy to kill it" />
<cargo containerId="tomcat6x" output="build/output.log" log="build/cargo.log" action="start" timeout="600000">
<zipurlinstaller installurl="${container.zip}" />
<configuration home="build/cargo" type="standalone">
<property name="cargo.java.home" value="/usr/lib/jvm/java-6-openjdk"/>
<property name="cargo.hostname" value="${host}"/>
<property name="cargo.servlet.port" value="${listenport}"/>
<property name="cargo.ssh.host" value="${host}"/>
<property name="cargo.ssh.username" value="${username}"/>
<property name="cargo.ssh.password" value=""/>
<property name="cargo.ssh.keyfile" value="${privatekeyfile}"/>
<property name="cargo.ssh.remotebase" value="/tmp/cargo"/>
<property name="cargo.logging" value="high"/>
<deployable type="war" file="${warfile}"/>
</configuration>
</cargo>
</target>
<target name="justplaincargo" description="run cargo on local machine" >
<echo message="deploying tomcat and sample app to: http://localhost:${listenport}/samples/" />
<cargo containerId="tomcat6x" output="build/output.log" log="build/cargo.log" action="start" timeout="600000">
<zipurlinstaller installurl="${container.zip}" />
<configuration home="build/cargo" type="standalone">
<property name="cargo.servlet.port" value="${listenport}"/>
<property name="cargo.logging" value="high"/>
<deployable type="war" file="${warfile}"/>
</configuration>
</cargo>
</target>
</project>
Jump to Line
Something went wrong with that request. Please try again.