Forráskód Böngészése

Include log4j transform jar in docker build context tasks (#69808)

Ensure that the log4j transform jar is included in the generated Docker build context.
Also makes some small fixes to the Iron Bank Dockerfile.
Rory Hunter 4 éve
szülő
commit
477ded9769

+ 4 - 4
distribution/docker/build.gradle

@@ -23,9 +23,9 @@ configurations {
 }
 
 dependencies {
-  aarch64DockerSource project(path: ":distribution:archives:linux-aarch64-tar", configuration:"default")
-  dockerSource project(path: ":distribution:archives:linux-tar", configuration:"default")
-  transformLog4jJar project(path: ":distribution:docker:transform-log4j-config", configuration: "default")
+  aarch64DockerSource project(path: ":distribution:archives:linux-aarch64-tar", configuration: 'default')
+  dockerSource project(path: ":distribution:archives:linux-tar", configuration: 'default')
+  transformLog4jJar project(path: ":distribution:docker:transform-log4j-config", configuration: 'default')
 }
 
 ext.expansions = { Architecture architecture, DockerBase base, boolean local ->
@@ -162,7 +162,7 @@ void addCopyDockerContextTask(Architecture architecture, DockerBase base) {
 
     with dockerBuildContext(architecture, base, true)
 
-    into(base == DockerBase.IRON_BANK ? 'scripts' : 'bin') {
+    into('bin') {
       from configurations.transformLog4jJar
     }
 

+ 12 - 0
distribution/docker/docker-build-context/build.gradle

@@ -2,6 +2,14 @@ import org.elasticsearch.gradle.DockerBase
 
 apply plugin: 'base'
 
+configurations {
+  transformLog4jJar
+}
+
+dependencies {
+  transformLog4jJar project(path: ":distribution:docker:transform-log4j-config", configuration: 'default')
+}
+
 tasks.register("buildDockerBuildContext", Tar) {
   archiveExtension = 'tar.gz'
   compression = Compression.GZIP
@@ -9,6 +17,10 @@ tasks.register("buildDockerBuildContext", Tar) {
   archiveBaseName = "elasticsearch"
   // Non-local builds don't need to specify an architecture.
   with dockerBuildContext(null, DockerBase.CENTOS, false)
+
+  into('bin') {
+    from configurations.transformLog4jJar
+  }
 }
 
 tasks.named("assemble").configure {dependsOn "buildDockerBuildContext"}

+ 14 - 2
distribution/docker/ironbank-docker-build-context/build.gradle

@@ -3,12 +3,24 @@ import org.elasticsearch.gradle.DockerBase
 
 apply plugin: 'base'
 
+configurations {
+  transformLog4jJar
+}
+
+dependencies {
+  transformLog4jJar project(path: ":distribution:docker:transform-log4j-config", configuration: 'default')
+}
+
 tasks.register("buildIronBankDockerBuildContext", Tar) {
   archiveExtension = 'tar.gz'
   compression = Compression.GZIP
   archiveClassifier = "docker-build-context"
   archiveBaseName = "elasticsearch-ironbank"
-  // We always treat Iron Bank builds as local, because that is how they
-  // are built
+  // We supply an architecture here because we always treat Iron Bank
+  // builds as local -  because that is how they are built.
   with dockerBuildContext(Architecture.X64, DockerBase.IRON_BANK, true)
+
+  into('scripts') {
+    from configurations.transformLog4jJar
+  }
 }

+ 2 - 2
distribution/docker/src/docker/Dockerfile

@@ -372,8 +372,8 @@ LABEL name="Elasticsearch" \\
 <% if (docker_base == 'ubi') { %>
 RUN mkdir /licenses && cp LICENSE.txt /licenses/LICENSE
 <% } else if (docker_base == 'iron_bank') { %>
-RUN mkdir /licenses
-COPY LICENSE /licenses/LICENSE
+RUN mkdir /licenses && cp LICENSE.txt /licenses/LICENSE
+COPY LICENSE /licenses/LICENSE.addendum
 <% } %>
 
 USER elasticsearch:root

+ 14 - 0
distribution/docker/ubi-docker-build-context/build.gradle

@@ -2,12 +2,26 @@ import org.elasticsearch.gradle.DockerBase
 
 apply plugin: 'base'
 
+configurations {
+  transformLog4jJar
+}
+
+dependencies {
+  transformLog4jJar project(path: ":distribution:docker:transform-log4j-config", configuration: 'default')
+}
+
+
 tasks.register("buildUbiDockerBuildContext", Tar) {
   archiveExtension = 'tar.gz'
   compression = Compression.GZIP
   archiveClassifier = "docker-build-context"
   archiveBaseName = "elasticsearch-ubi8"
+  // Non-local builds don't need to specify an architecture.
   with dockerBuildContext(null, DockerBase.UBI, false)
+
+  into('bin') {
+    from configurations.transformLog4jJar
+  }
 }
 
 tasks.named("assemble").configure { dependsOn("buildUbiDockerBuildContext") }