diff options
Diffstat (limited to 'crashboxd/src/test/scala/io/crashbox/ci/DockerUtil.scala')
-rw-r--r-- | crashboxd/src/test/scala/io/crashbox/ci/DockerUtil.scala | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/crashboxd/src/test/scala/io/crashbox/ci/DockerUtil.scala b/crashboxd/src/test/scala/io/crashbox/ci/DockerUtil.scala new file mode 100644 index 0000000..794a390 --- /dev/null +++ b/crashboxd/src/test/scala/io/crashbox/ci/DockerUtil.scala @@ -0,0 +1,27 @@ +package io.crashbox.ci + +object DockerUtil { + import IOUtil._ + import com.spotify.docker.client.DockerClient + import java.io.File + import java.nio.file.Files + + val defaultImage = "crashbox" + + def ensureImage(client: DockerClient): Unit = { + println("Pulling base docker image for running docker tests") + val baseImage = "debian:jessie-backports" + client.pull(baseImage) + + withTempDir { dir => + println("Adapting base image for tests") + val modifications = s"""|FROM $baseImage + |RUN adduser crashbox + |USER crashbox + |""".stripMargin + Files.write((new File(dir, "Dockerfile")).toPath, modifications.getBytes) + client.build(dir.toPath, defaultImage) + } + } + +} |