sbt-elastic-beanstalk icon indicating copy to clipboard operation
sbt-elastic-beanstalk copied to clipboard

sbt plugin for deploying Scala apps to AWS Elastic Beanstalk.

sbt-elastic-beanstalk-plugin

Creates a distribution of your Scala/Play/Akka app for deployment on AWS Amazon Web Services) Elastic Beanstalk.

Features

  • Build deployable zip for AWS (Amazon Web Services) Elastic Beanstalk environments with Docker config
    • Works with any Scala, Play Framework, or Akka application
    • Extends SBT Native Packager Docker plugin
    • Allows addition of Elastic Beanstalk config (Dockerrun.aws.json)

Installation

Add the following to your project/plugins.sbt file:

resolvers += Resolver.url("bintray-kipsigman-sbt-plugins", url("http://dl.bintray.com/kipsigman/sbt-plugins"))(Resolver.ivyStylePatterns)

addSbtPlugin("kipsigman" % "sbt-elastic-beanstalk" % "0.1.4")

In your build.sbt enable the plugin.

enablePlugins(ElasticBeanstalk)

Usage

  1. Add build.sbt settings for the SBT Native Packager Docker plugin.

example (for a Play app):

maintainer in Docker := "Johnny Utah <[email protected]>"
dockerExposedPorts := Seq(9000)
dockerBaseImage := "java:latest"
  1. Create distribution for upload to Elastic Beanstalk:
sbt elastic-beanstalk:dist
  1. The elastic-beanstalk:dist command will output the location of your deployable zip. Upload to your Elastic Beanstalk environment.
  2. Enjoy a beer or re-watch the original "Point Break."

Sample projects

Here are some sample projects using this plugin which may be helpful in getting started.