Repository: incubator-s2graph
Updated Branches:
  refs/heads/master 5a0e4d835 -> c64094f00


add extra env option for docker build


Project: http://git-wip-us.apache.org/repos/asf/incubator-s2graph/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-s2graph/commit/5a0a2d6c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-s2graph/tree/5a0a2d6c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-s2graph/diff/5a0a2d6c

Branch: refs/heads/master
Commit: 5a0a2d6c41292e18e67c98a1dd53c373b6101044
Parents: 3332f6b
Author: Chul Kang <[email protected]>
Authored: Tue Apr 3 15:05:40 2018 +0900
Committer: Chul Kang <[email protected]>
Committed: Tue Apr 3 15:05:40 2018 +0900

----------------------------------------------------------------------
 build.sbt           | 36 ++++++++++++++++++++++++++++++++++++
 project/plugins.sbt |  2 ++
 2 files changed, 38 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-s2graph/blob/5a0a2d6c/build.sbt
----------------------------------------------------------------------
diff --git a/build.sbt b/build.sbt
index af6fbd7..9e3b84f 100755
--- a/build.sbt
+++ b/build.sbt
@@ -43,14 +43,20 @@ lazy val s2rest_play = 
project.enablePlugins(PlayScala).disablePlugins(PlayLogba
   .dependsOn(s2core, s2counter_core)
   .settings(commonSettings: _*)
   .settings(testOptions in Test += Tests.Argument("sequential"))
+  .settings(dockerSettings: _*)
+  .enablePlugins(sbtdocker.DockerPlugin, JavaAppPackaging)
 
 lazy val s2rest_netty = project
   .dependsOn(s2core)
   .settings(commonSettings: _*)
+  .settings(dockerSettings: _*)
+  .enablePlugins(sbtdocker.DockerPlugin, JavaAppPackaging)
 
 lazy val s2graphql = project
   .dependsOn(s2core)
   .settings(commonSettings: _*)
+  .settings(dockerSettings: _*)
+  .enablePlugins(sbtdocker.DockerPlugin, JavaAppPackaging)
 
 lazy val s2core = project.settings(commonSettings: _*)
 
@@ -76,6 +82,36 @@ lazy val root = (project in file("."))
   .dependsOn(s2rest_play, s2rest_netty, s2jobs, s2counter_loader, s2graphql) 
// this enables packaging on the root project
   .settings(commonSettings: _*)
 
+lazy val dockerSettings = Seq(
+  dockerfile in docker := {
+    val appDir: File = stage.value
+    val targetDir = s"/u/apps/${name.value}"
+
+    new Dockerfile {
+      from("java:8")
+      entryPoint(s"$targetDir/bin/${executableScriptName.value}")
+      env("EXTRA_JARS", "")
+      env("ZONEINFO", "Asia/Seoul")
+      copy(appDir, targetDir)
+      workDir(targetDir)
+      expose(9000)
+    }
+  },
+  bashScriptExtraDefines ++= Seq(
+    s"""cp $$EXTRA_JARS/* /u/apps/${name.value}/lib""",
+    "ln -sf /usr/share/zoneinfo/$ZONEINFO /etc/localtime; date"
+  ),
+  scriptClasspath += "*",
+  imageNames in docker := Seq(
+    ImageName(s"s2graph/${name.value}:${version.value}")
+  ),
+  buildOptions in docker := BuildOptions(
+    cache = false,
+    removeIntermediateContainers = BuildOptions.Remove.Always,
+    pullBaseImage = BuildOptions.Pull.Always
+  )
+)
+
 lazy val runRatTask = inputKey[Unit]("Runs Apache rat on S2Graph")
 
 runRatTask := {

http://git-wip-us.apache.org/repos/asf/incubator-s2graph/blob/5a0a2d6c/project/plugins.sbt
----------------------------------------------------------------------
diff --git a/project/plugins.sbt b/project/plugins.sbt
index c5a079f..dda878d 100644
--- a/project/plugins.sbt
+++ b/project/plugins.sbt
@@ -35,5 +35,7 @@ addSbtPlugin("com.jsuereth" % "sbt-pgp" % "1.0.0")
 
 addSbtPlugin("com.github.gseitz" % "sbt-release" % "1.0.3")
 
+addSbtPlugin("se.marcuslonnberg" % "sbt-docker" % "1.4.1")
+
 resolvers += Resolver.typesafeRepo("releases")
 

Reply via email to