Tải bản đầy đủ (.pdf) (11 trang)

Java Power Tools the cloud edition phần 2 docx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (404.75 KB, 11 trang )

Templates abstractly describe nodes:
What OS to use, what versions
What kind of hardware, what features are needed
Tags organize identically configured nodes in groups
proxied
proxied
proxied
proxied
proxied
webserver
minRam(1024)
osFamily(UBUNTU)
runScript(agentInstall)
webserver
6
runNodesWithTag
Monday, November 29, 2010
Operate based on predicates
proxied
proxied
proxied
proxied
proxied
tag: webserver
runScriptOnNodesMatching
location: eu-west-1
Monday, November 29, 2010
jclouds power tools
Whirr
Monday, November 29, 2010
nodes on demand


bootstrap with runscript
control the cloud
ant compute task
Monday, November 29, 2010
ant compute task github jclouds/jclouds
<compute actions="destroy,create" provider="${url}">
<nodes tag="web-prod" os="UBUNTU" hardware="SMALLEST"
! ! ! ! !runscript="bootstrap"
openports="22,8080"
! ! ! ! !hostproperty="host" usernameproperty="username" />
</compute>
Monday, November 29, 2010
deploy your application
choose your appserver
cloud is your container
cargo
Monday, November 29, 2010
cargo ssh integration codehaus/cargo
<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.logging" value="high"/>
<deployable type="war" file="${warfile}"/>
<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="/var/cargo"/>
</configuration>
</cargo>
<compute actions="destroy,create" provider="${url}">
<nodes tag="${tag}" os="UBUNTU" hardware="SMALLEST"
runscript="runscript.sh" openports="22,${listenport}"
privatekeyfile="${privatekeyfile}" publickeyfile="${publickeyfile}"
hostproperty="host" usernameproperty="username" />
</compute>
Monday, November 29, 2010
unit test your deployment
skip the build
cloud is an option
arquillian
Monday, November 29, 2010
arquillian cloud container jboss/arquillian
@Deployment
public static JavaArchive createDeployment()
{
return ShrinkWrap.create(JavaArchive.class)
.addPackage(ServiceManager.class.getPackage())
.addManifestResource(EmptyAsset.INSTANCE, "beans.xml");
}

@Inject
private ServiceManager manager;

@Test
public void shouldBeAbleToExecuteAndInject() throws Exception
{

Assert.assertNotNull(manager);

Assert.assertEquals("Hello", manager.sayHello());
}
<cloud:container>
<cloud:provider>gogrid</cloud:provider>
<cloud:identity>apikey</cloud:identity>
<cloud:credential>passcode</cloud:credential>
</cloud:container>
Monday, November 29, 2010
build on alternate platforms
offload your laptop
the cloud is your slave
hudson plugin
under construction
Monday, November 29, 2010
hudson jclouds plugin java.net/hudson
Monday, November 29, 2010

×