Deploy a war to jelastic.

This sbt plugin deploys a war generated by the xsbt-web-plugin, as such it depends on the xsbt-web-plugin. The plugin will add the xsbt-web-plugin to your build too but won't configure it. For more information on how to configure the xsbt-web-plugin, visit its wiki

Installing the plugin

Add plugin resolver

resolvers += Resolver.url("sbt-plugin-releases",
  new URL("http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases/"))(Resolver.ivyStylePatterns)

For sbt 0.13.x

addSbtPlugin("com.github.casualjim" % "sbt-jelastic-deploy" % "0.1.4")

For sbt 0.12.x

addSbtPlugin("com.github.casualjim" % "sbt-jelastic-deploy" % "0.1.2")

If you use this plugin in conjuction with xsbt-gpg-plugin you need version 0.7 or higher. Currently this isn't available in maven yet but you can add a source dependency in ~/.sbt/plugins/project/plugins.scala. And remove the declaration in your ~/.sbt/plugins/plugins.sbt file.

import sbt._
import Keys._

object GlobalPluginsBuild extends Build {
  
  lazy val root = (Project("plugins", file(".")) 
                    dependsOn uri("git://github.com/sbt/xsbt-gpg-plugin.git#sbt-0.12"))
}

Configuring the plugin

The plugin requires a couple of keys to be set. In build.sbt:

import JelasticKeys._

seq(jelasticSettings:_*)

email in deploy := "YOUR_EMAIL_HERE"

password in deploy := "YOUR PASSWORD HERE"

apiHoster := "app.j.layershift.co.uk"

environment in deploy := "YOUR_ENVIRONMENT_HERE"

Optionally you can configure some other properties too, these are shown below with their default values:

comment in deploy := ""

comment in upload := ""

context in deploy := "ROOT"

onlyUpload in deploy := false

port in deploy := 443

port in upload := 443

Using the plugin

The plugin adds 2 tasks: deploy and upload

The upload task will build a war and then upload it to the jelastic api host. The deploy task will build a war, then upload and deploy it to the specified environment and context.