sbt / sbt-native-packager

sbt Native Packager
https://sbt-native-packager.readthedocs.io/en/stable/
BSD 2-Clause "Simplified" License
1.59k stars 439 forks source link

dockerCommands do not appear to be added #1477

Closed masonedmison closed 2 years ago

masonedmison commented 2 years ago

Expected behaviour

I want to add additiional dockerCommands to the existing.

sample build.sbt

lazy val core = (project in file("modules/core"))
  .enablePlugins(DockerPlugin)
  .enablePlugins(AshScriptPlugin)
  .settings(
    name := "core",
    packageName in Docker := "myProject",
    dockerBaseImage := "openjdk:11-jre-slim-buster",
    dockerExposedPorts ++= Seq(8080),
    dockerCommands ++=
      Seq(
        ExecCmd("CMD", "mkdir", "/certs/")
      ),
    scalacOptions ++= List("-Ymacro-annotations", "-Yrangepos", "-Wconf:cat=unused:info"),
    resolvers += Resolver.sonatypeRepo("snapshots"),
    makeBatScripts := Seq(),
    dockerUpdateLatest := true,
    libraryDependencies ++= Seq(
      CompilerPlugin.kindProjector,
      CompilerPlugin.betterMonadicFor,
      CompilerPlugin.semanticDB,
      Libraries.cats,
  )
)

Actual behaviour

When I run show dockerCommands I see no effect (my command was not executed)

[info] Wrote C:\Users\edmisml\scalaprojects\cici\modules\core\target\scala-2.13\cici-core_2.13-2.0.0.pom
[info] * Cmd(FROM,WrappedArray(openjdk:11-jre-slim-buster, as, stage0))
[info] * Cmd(LABEL,WrappedArray(snp-multi-stage="intermediate"))
[info] * Cmd(LABEL,WrappedArray(snp-multi-stage-id="b2c61413-9419-4644-a302-c416c57ec2fe"))
[info] * Cmd(WORKDIR,WrappedArray(/opt/docker))
[info] * Cmd(COPY,WrappedArray(1/opt /1/opt))
[info] * Cmd(COPY,WrappedArray(2/opt /2/opt))
[info] * Cmd(USER,WrappedArray(root))
[info] * ExecCmd(RUN,List(chmod, -R, u=rX,g=rX, /1/opt/docker))
[info] * ExecCmd(RUN,List(chmod, -R, u=rX,g=rX, /2/opt/docker))
[info] * ExecCmd(RUN,List(chmod, u+x,g+x, /1/opt/docker/bin/cici-core))
[info] * DockerStageBreak
[info] * Cmd(FROM,WrappedArray(openjdk:11-jre-slim-buster, as, mainstage))
[info] * Cmd(USER,WrappedArray(root))
[info] * Cmd(RUN,List(id, -u, demiourgos728, 1>/dev/null, 2>&1, ||, ((, getent, group, 0, 1>/dev/null, 2>&1, ||, (, type, groupadd, 1>/dev/null, 2>&1, &&, groupadd, -g, 0, root, ||, addgroup, -g, 0, -S, root, )), &&, (, type, useradd, 1>/dev/null, 2>&1, &&, useradd, --system, --create-home, --uid, 1001, --gid, 0, demiourgos728, ||, adduser, -S, -u, 1001, -G, root, demiourgos728, ))))
[info] * Cmd(WORKDIR,WrappedArray(/opt/docker))
[info] * Cmd(COPY,WrappedArray(--from=stage0 --chown=demiourgos728:root /1/opt/docker /opt/docker))
[info] * Cmd(COPY,WrappedArray(--from=stage0 --chown=demiourgos728:root /2/opt/docker /opt/docker))
[info] * Cmd(EXPOSE,WrappedArray(8080))
[info] * Cmd(USER,WrappedArray(1001:0))
[info] * ExecCmd(ENTRYPOINT,List(/opt/docker/bin/cici-core))
[info] * ExecCmd(CMD,List())

I thought that this might be related to #1417, but I don't think this is the case as I am not changing file permissions.

Am I doing something wrong?

Information

masonedmison commented 2 years ago

Embarrassing mistake on my end... I was using addSbtPlugin("com.typesafe.sbt" % "sbt-native-packager" % "1.8.1")

Switched to addSbtPlugin("com.github.sbt" % "sbt-native-packager" % "1.9.7") and commands are now added as expected.

Closing