aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Odersky <jakob@odersky.com>2018-07-23 17:51:55 -0700
committerGitHub <noreply@github.com>2018-07-23 17:51:55 -0700
commit2a2fcdb13381f4b8266a3430c67507f01294dd66 (patch)
tree55359f2e660482784af07f0b39a8ce846ac1d321
parent651b6680c2f126b31f8cbe2d403ce5489ff51fed (diff)
downloadsbt-settings-2a2fcdb13381f4b8266a3430c67507f01294dd66.tar.gz
sbt-settings-2a2fcdb13381f4b8266a3430c67507f01294dd66.tar.bz2
sbt-settings-2a2fcdb13381f4b8266a3430c67507f01294dd66.zip
Include git commit hash in docker image tags (#5)
* Include git commit hash in docker image tags * Add timestamp and make git commit optional
-rw-r--r--src/main/scala/xyz.driver.sbt/Service.scala18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/main/scala/xyz.driver.sbt/Service.scala b/src/main/scala/xyz.driver.sbt/Service.scala
index a0186e6..3854876 100644
--- a/src/main/scala/xyz.driver.sbt/Service.scala
+++ b/src/main/scala/xyz.driver.sbt/Service.scala
@@ -1,17 +1,11 @@
package xyz.driver.sbt
import com.typesafe.sbt.GitPlugin.autoImport._
-import com.typesafe.sbt.packager.Keys.{
- dockerBaseImage => _,
- dockerCommands => _,
- dockerExposedPorts => _,
- dockerRepository => _,
- dockerUpdateLatest => _,
- _
-}
+import com.typesafe.sbt.packager.Keys._
import com.typesafe.sbt.packager.archetypes.JavaAppPackaging
-import com.typesafe.sbt.packager.docker.DockerPlugin.autoImport._
+import com.typesafe.sbt.packager.docker.DockerPlugin.autoImport.Docker
import com.typesafe.sbt.packager.docker.{Cmd, DockerPlugin}
+import java.time.Instant
import sbt.Keys._
import sbt.{Def, _}
import sbtbuildinfo.BuildInfoPlugin
@@ -41,6 +35,9 @@ object Service extends AutoPlugin {
dockerRepository := Some("gcr.io/driverinc-sandbox"),
dockerUpdateLatest := true, // automatically update the latest tag
dockerBaseImage := "openjdk:10",
+ dockerLabels := Map(
+ "build.timestamp" -> Instant.now().toString
+ ) ++ git.gitHeadCommit.value.map("git.commit" -> _),
dockerCommands := dockerCommands.value.flatMap { // @see http://blog.codacy.com/2015/07/16/dockerizing-scala/
case cmd @ Cmd("FROM", _) => cmd :: customCommands.value.map(customCommand => Cmd("RUN", customCommand))
case other => List(other)
@@ -64,7 +61,8 @@ object Service extends AutoPlugin {
crossScalaVersions := List("2.12.6"),
scalaVersion := crossScalaVersions.value.last,
publish := {
- streams.value.log.warn(s"Service ${name.value} won't be published.")
+ streams.value.log
+ .warn(s"Project ${name.value} is a service and will therefore not be published to an artifactory.")
}
)