Akka

Last modified by Michael Neale on 2012/11/13 09:59

Running Akka on CloudBees

I am in a hurry - clickstart

We have an Akka ClickStart if you wish to skip the read and start hakking in two clicks here.

Current Limitations

Currently, multiple instances of one given app are unaware of each others' existence, so if you wanted to use any kind of remoting, you would have to set up multiple individual apps to get there - or co-ordinate cluster membership yourself. We are working on automating cluster directory services - so instances will be able to automatically know about cluster members in real time without any configuration necessary.

Building and Testing

In the Akka ClickStart, we test our Akka project with Jenkins. To do so with your own projects, create a new freestyle project in Jenkins, add your code repository there, and then build it with a shell script that would look as follows:

java -Xms512M -Xmx1536M -Xss1M -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=384M -jar /opt/sbt/sbt-launch-0.11.3-2.jar -Dsbt.log.noformat=true clean test
zip -r target/akka.zip .

Here's how it works:

- SBT is launched as a jar (That we have hosted on our Jenkins instances), and it executes two steps:

- Clean will remove the whole target directory

- Test will compile and test our project, populating the target directory again with the compiled classes

- We finally zip our project and store it in the target directory, ready for deployment

And then, we can add a post-build step, deploying our zipped file (target/akka.zip) to CloudBees, and change one setting to our application, from the CloudBees SDK, for it to use SBT as the runtime, and use "sbt run" to run the project:

bees config:set -a MYAPP -t sbt -Rargs=run
bees app:restart MYAPP

The Runtime Environment

Akka, as it is in the ClickStart, runs on our SBT ClickStack, and if you'd like to have a bit of a closer look, you can find the source code on GitHub

To deploy your own application with SBT runtime, just zip the project directory and deploy it with the CloudBees SDK using the following command: (You can of course change the args, for example, we could use "clean test run" instead of run)

bees app:deploy -a MYAPP -t sbt -Rargs=run MYZIP.zip
Tags:
Created by Benjamin Savoy on 2012/10/16 13:40