Creates a distribution of your Scala/Play/Akka app for deployment on AWS Amazon Web Services) Elastic Beanstalk. Forked from kipsigman/sbt-elastic-beanstalk
- 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)
Add the following to your project/plugins.sbt
file:
addSbtPlugin("io.xogus" % "sbt-elastic-beanstalk" % "0.7.0")
In your build.sbt
enable the plugin.
enablePlugins(ElasticBeanstalkPlugin)
- Add
build.sbt
settings for the SBT Native Packager Docker plugin.
example (for a Play app):
packageName in ElasticBeanstalk := "zip-file-name",
elasticBeanstalkSources in ElasticBeanstalk := Seq(
baseDirectory.value / ".ebextensions", // add .ebextensions folder
baseDirectory.value / "Dockerrun.aws.json" // add Dockerrun.aws.json file
),
dockerLabels := Map(
"maintainer" -> "Taehyun Kim <[email protected]>"
),
dockerExposedPorts := Seq(9000),
dockerBaseImage := "java:latest"
- Create distribution for upload to Elastic Beanstalk:
sbt elastic-beanstalk:dist
- The
elastic-beanstalk:dist
command will output the location of your deployable zip. Upload to your Elastic Beanstalk environment. - Enjoy a beer or re-watch the original "Point Break."
Here are some sample projects using this plugin which may be helpful in getting started.