Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rename dockerTarget to dockerTag #851

Merged
merged 1 commit into from
Jul 24, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ object DockerPlugin extends AutoPlugin {
dockerExposedPorts := Seq(),
dockerExposedVolumes := Seq(),
dockerRepository := None,
dockerTag := dockerRepository.value.map(_ + "/").getOrElse("") + packageName.value + ":" + version.value,
dockerUpdateLatest := false,
dockerEntrypoint := Seq("bin/%s" format executableScriptName.value),
dockerCmd := Seq(),
Expand Down Expand Up @@ -105,11 +106,11 @@ object DockerPlugin extends AutoPlugin {
mappings ++= Seq(dockerGenerateConfig.value) pair relativeTo(target.value),
name := name.value,
packageName := packageName.value,
publishLocal <<= (stage, dockerTarget, dockerUpdateLatest, streams) map {
publishLocal <<= (stage, dockerTag, dockerUpdateLatest, streams) map {
(context, target, updateLatest, s) =>
publishLocalDocker(context, target, updateLatest, s.log)
},
publish <<= (publishLocal, dockerTarget, dockerUpdateLatest, streams) map {
publish <<= (publishLocal, dockerTag, dockerUpdateLatest, streams) map {
(_, target, updateLatest, s) =>
publishDocker(target, s.log)
if (updateLatest) {
Expand All @@ -129,10 +130,7 @@ object DockerPlugin extends AutoPlugin {
dockerPackageMappings <<= sourceDirectory map { dir =>
MappingsHelper contentOf dir
},
dockerGenerateConfig <<= (dockerCommands, target) map generateDockerConfig,
dockerTarget <<= (dockerRepository, packageName, version) map {
(repo, name, version) => repo.map(_ + "/").getOrElse("") + name + ":" + version
}
dockerGenerateConfig <<= (dockerCommands, target) map generateDockerConfig
))

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ object DockerSpotifyClientPlugin extends AutoPlugin {

def publishLocalDocker = Def.task {
val context = stage.value
val tag = dockerTarget.value
val tag = dockerTag.value
val latest = dockerUpdateLatest.value
val log = streams.value.log

Expand Down
2 changes: 1 addition & 1 deletion src/main/scala/com/typesafe/sbt/packager/docker/Keys.scala
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@ import sbt._
trait DockerKeys {
val dockerGenerateConfig = TaskKey[File]("docker-generate-config", "Generates configuration file for Docker.")
val dockerPackageMappings = TaskKey[Seq[(File, String)]]("docker-package-mappings", "Generates location mappings for Docker build.")
val dockerTarget = TaskKey[String]("docker-target", "Defines target used when building and publishing Docker image")

val dockerBaseImage = SettingKey[String]("dockerBaseImage", "Base image for Dockerfile.")
val dockerExposedPorts = SettingKey[Seq[Int]]("dockerExposedPorts", "Ports exposed by Docker image")
val dockerExposedVolumes = SettingKey[Seq[String]]("dockerExposedVolumes", "Volumes exposed by Docker image")
val dockerRepository = SettingKey[Option[String]]("dockerRepository", "Repository for published Docker image")
val dockerTag = SettingKey[String]("dockerTag", "Docker tag for the built image")
val dockerUpdateLatest = SettingKey[Boolean]("dockerUpdateLatest", "Set to update latest tag")
val dockerEntrypoint = SettingKey[Seq[String]]("dockerEntrypoint", "Entrypoint arguments passed in exec form")
val dockerCmd = SettingKey[Seq[String]]("dockerCmd", "Docker CMD. Used together with dockerEntrypoint. Arguments passed in exec form")
Expand Down
7 changes: 7 additions & 0 deletions src/sbt-test/docker/tag/build.sbt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
enablePlugins(JavaAppPackaging)

name := "docker-tag-test"

version := "0.1.0"

dockerTag := "docker-tag-test:0.1.0"
1 change: 1 addition & 0 deletions src/sbt-test/docker/tag/project/plugins.sbt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % sys.props("project.version"))
3 changes: 3 additions & 0 deletions src/sbt-test/docker/tag/src/main/scala/Main.scala
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
object Main extends App {
println("Hello world")
}
3 changes: 3 additions & 0 deletions src/sbt-test/docker/tag/test
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Stage the distribution and ensure files show up.
> docker:publishLocal
$ exec bash -c 'docker run docker-tag-test:0.1.0 | grep -q "Hello world"'
4 changes: 4 additions & 0 deletions src/sphinx/formats/docker.rst
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,10 @@ Publishing Settings
``dockerUpdateLatest``
The flag to automatic update the latest tag when the ``docker:publish`` task is run. Default value is ``FALSE``.

``dockerTag``
The tag to be used during build for the resulting image.
Defaults to ``[dockerRepository]/[name]:[version]``.

Tasks
-----
The Docker support provides the following commands:
Expand Down