From 3b18aca42600aae3e7cefba73e0fe66a5648c37c Mon Sep 17 00:00:00 2001 From: vlad Date: Wed, 14 Sep 2016 14:41:18 -0700 Subject: Proper docker configuration --- build.sbt | 4 +- project/plugins.sbt | 2 - src/main/scala/com.drivergrp.sbt/SbtSettings.scala | 43 ++++++++++------------ 3 files changed, 22 insertions(+), 27 deletions(-) diff --git a/build.sbt b/build.sbt index f0cbd95..8fcb0e6 100644 --- a/build.sbt +++ b/build.sbt @@ -16,10 +16,10 @@ addSbtPlugin("org.scalastyle" %% "scalastyle-sbt-plugin" % "0.8.0") addSbtPlugin("io.spray" % "sbt-revolver" % "0.8.0") addSbtPlugin("com.eed3si9n" % "sbt-buildinfo" % "0.6.1") addSbtPlugin("com.typesafe.sbt" % "sbt-git" % "0.8.5") -// addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.1.1") +addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.1.4") addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.3") addSbtPlugin("com.github.gseitz" % "sbt-release" % "1.0.3") -// addSbtPlugin("se.marcuslonnberg" % "sbt-docker" % "1.4.0") +addSbtPlugin("se.marcuslonnberg" % "sbt-docker" % "1.4.0") // This plugin represents functionality that is to be added to sbt in the future addSbtPlugin("org.scala-sbt" % "sbt-core-next" % "0.1.1") diff --git a/project/plugins.sbt b/project/plugins.sbt index b617004..de9bb90 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -8,10 +8,8 @@ addSbtPlugin("org.scalastyle" %% "scalastyle-sbt-plugin" % "0.8.0") addSbtPlugin("io.spray" % "sbt-revolver" % "0.8.0") addSbtPlugin("com.eed3si9n" % "sbt-buildinfo" % "0.6.1") addSbtPlugin("com.typesafe.sbt" % "sbt-git" % "0.8.5") -// addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.1.4") addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.3") addSbtPlugin("com.github.gseitz" % "sbt-release" % "1.0.3") -// addSbtPlugin("se.marcuslonnberg" % "sbt-docker" % "1.4.0") // This plugin represents functionality that is to be added to sbt in the future addSbtPlugin("org.scala-sbt" % "sbt-core-next" % "0.1.1") \ No newline at end of file diff --git a/src/main/scala/com.drivergrp.sbt/SbtSettings.scala b/src/main/scala/com.drivergrp.sbt/SbtSettings.scala index 8659457..0dfd1a7 100644 --- a/src/main/scala/com.drivergrp.sbt/SbtSettings.scala +++ b/src/main/scala/com.drivergrp.sbt/SbtSettings.scala @@ -2,13 +2,11 @@ package com.drivergrp.sbt import sbt.Keys._ import com.typesafe.sbt.SbtGit.git -// import com.typesafe.sbt.SbtNativePackager.Universal -// import com.typesafe.sbt.SbtNativePackager.autoImport._ -// import com.typesafe.sbt.packager.SettingsHelper._ -// import com.typesafe.sbt.packager.archetypes._ -// import com.typesafe.sbt.packager.docker.Cmd -// import com.typesafe.sbt.packager.docker.DockerPlugin.autoImport._ -// import sbtdocker.DockerPlugin +import com.typesafe.sbt.SbtNativePackager.autoImport._ +import com.typesafe.sbt.packager.archetypes._ +import com.typesafe.sbt.packager.docker.DockerPlugin.autoImport._ +import sbtdocker.DockerPlugin +import com.typesafe.sbt.packager.docker.Cmd import com.typesafe.sbt.{GitBranchPrompt, GitVersioning} import org.scalafmt.sbt.ScalaFmtPlugin.autoImport._ import org.scalastyle.sbt.ScalastylePlugin._ @@ -303,10 +301,6 @@ object SbtSettings extends AutoPlugin { def packagingConfiguration: Project = { project - // .enablePlugins(JavaAppPackaging) - // .settings(// for sbt-native-packager - // makeDeploymentSettings(Universal, packageBin in Universal, "zip") - // ) .settings(// for assembly plugin test in assembly := {}, assemblyMergeStrategy in assembly := { @@ -318,20 +312,23 @@ object SbtSettings extends AutoPlugin { }) } -// def dockerConfiguration: Project = { -// project -// .enablePlugins(DockerPlugin) -// .settings( -// maintainer := "Direct Inc. ", -// dockerBaseImage := "java:openjdk-8-jre-alpine", -// dockerCommands := dockerCommands.value.flatMap { // @see http://blog.codacy.com/2015/07/16/dockerizing-scala/ -// case cmd@Cmd("FROM", _) => List(cmd, Cmd("RUN", "apk update && apk add bash")) -// case other => List(other) -// } -// ) + def dockerConfiguration(imageName: String, repository: String): Project = { + project + .enablePlugins(DockerPlugin, JavaAppPackaging) + .settings( + packageName in Docker := imageName, + dockerRepository := Some(repository), + maintainer := "Direct Inc. ", + dockerUpdateLatest := true, // to automatic update the latest tag + dockerBaseImage := "java:openjdk-8-jre-alpine", + dockerCommands := dockerCommands.value.flatMap { // @see http://blog.codacy.com/2015/07/16/dockerizing-scala/ + case cmd@Cmd("FROM", _) => List(cmd, Cmd("RUN", "apk update && apk add bash")) + case other => List(other) + } + ) // And then you can run "sbt docker:publishLocal" -// } + } } } -- cgit v1.2.3