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")
