CloudBees provides an enterprise Continuous Delivery Platform that accelerates the software development, integration and deployment processes. Building on the power of Jenkins CI, CloudBees enables you to adopt continuous delivery incrementally or organization-wide, supporting on-premise, cloud and hybrid environments.

Friday, October 5, 2012

NOTE: This blog is also shown on the Typesafe BlogSince version 1, the Play framework has won fans at CloudBees. The secret Scala admirers enjoyed the rise of Scala support, and then delighted in the use of Scala in the implementation of Play version 2. Even the Scala haters had to admit that it was pretty cool. Most of all, the Play framework made java web development fun again (again? If we are honest, it never really was that fun to start with!).

From our point of view what was interesting was how Play applications were deployed. At CloudBees we offer managed app server stacks which allowed us to hook in services automatically to provide a smooth PaaS experience, but it is hard to not notice the shift towards other deployment models. As you know Play version 1 came with a war generating plugin - which opened up Play to deployment scenarios on more traditional application servers - however, in its heart Play really wanted to be free of the servlet container model (a fine model, which was ahead of its time in many ways).

Play 2 takes this a bit further. So, at CloudBees, we decided that for popular frameworks we wanted to support the native experience of deployment - i.e. what the framework authors consider the ideal deployment. Play, via its use of SBT, produces a "distribution" - which is a self-contained zip - ready to run on a target platform. On CloudBees now we can run these natively - we use the Play 2 container - no need to generate a war, no changes in packaging or how you build your Play 2 applications. When an application is deployed to CloudBees, we look for existing artifacts from the zip archive we already have (and we probably already have them!) and save time on deploy (a great feature for those of us with terrible uplink speed).

To get started with this - one of the easiest ways is to launch a ClickStart which will set up an app, clone it into a private repository and set up a continuous deployment job (gets you going fast, you can lie to your friends and say you did all the work).

Of course you can deploy directly from your Play 2 console (SBT) as shown here.

Michael is an open source polyglot developer. For his sins he spent time at JBoss, working on the Drools project, and then Red Hat, where he continually caused trouble on various projects. His interest in the cloud is natural, as he is attracted to disruptive technologies. Michael lives and works in the Blue Mountains, just outside Sydney, Australia. Follow Michael's daily struggle on Twitter or on his blog.