Base Jetty smoke test images on jdk ones (#4424)

* Base Jetty smoke test images on jdk ones

* Guessing on PowerShell syntax
This commit is contained in:
Nikita Salnikov-Tarnovski 2021-10-19 23:38:08 +03:00 committed by GitHub
parent dee28c367c
commit 6958896cb4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 35 additions and 57 deletions

View File

@ -29,13 +29,13 @@ tasks.create("pushMatrix", DockerPushImage) {
// Each line under appserver describes one matrix of (version x vm x jdk), dockerfile key overrides
// Dockerfile name, args key passes raw arguments to docker build
def linuxTargets = [
"jetty" : [
[version: ["9.4.35"], vm: ["hotspot"], jdk: ["8", "11", "16", "17"]],
[version: ["9.4.35"], vm: ["openj9"], jdk: ["8", "11", "16"]],
[version: ["10.0.0"], vm: ["hotspot"], jdk: ["11", "16", "17"]],
[version: ["10.0.0"], vm: ["openj9"], jdk: ["11", "16"]],
[version: ["11.0.1"], vm: ["hotspot"], jdk: ["11", "16", "17"], war: "servlet-5.0"],
[version: ["11.0.1"], vm: ["openj9"], jdk: ["11", "16"], war: "servlet-5.0"]
"jetty" : [
[version: ["9.4.39"], vm: ["hotspot"], jdk: ["8", "11", "17"], args: [sourceVersion: "9.4.39.v20210325"]],
[version: ["9.4.39"], vm: ["openj9"], jdk: ["8", "11", "16"], args: [sourceVersion: "9.4.39.v20210325"]],
[version: ["10.0.7"], vm: ["hotspot"], jdk: ["11", "17"], args: [sourceVersion: "10.0.7"]],
[version: ["10.0.7"], vm: ["openj9"], jdk: ["11", "16"], args: [sourceVersion: "10.0.7"]],
[version: ["11.0.7"], vm: ["hotspot"], jdk: ["11", "17"], args: [sourceVersion: "11.0.7"], war: "servlet-5.0"],
[version: ["11.0.7"], vm: ["openj9"], jdk: ["11", "16"], args: [sourceVersion: "11.0.7"], war: "servlet-5.0"]
],
"tomcat" : [
[version: ["7.0.109"], vm: ["hotspot", "openj9"], jdk: ["8"], args: [majorVersion: "7"]],
@ -68,14 +68,7 @@ def linuxTargets = [
]
def windowsTargets = [
"jetty" : [
[version: ["9.4.35"], vm: ["hotspot"], jdk: ["8", "11", "16", "17"], args: [sourceVersion: "9.4.35.v20201120"]],
[version: ["9.4.35"], vm: ["openj9"], jdk: ["8", "11", "16"], args: [sourceVersion: "9.4.35.v20201120"]],
[version: ["10.0.0"], vm: ["hotspot"], jdk: ["11", "16", "17"], dockerfile: "jetty-split", args: [sourceVersion: "10.0.0.beta3"]],
[version: ["10.0.0"], vm: ["openj9"], jdk: ["11", "16"], dockerfile: "jetty-split", args: [sourceVersion: "10.0.0.beta3"]],
[version: ["11.0.1"], vm: ["hotspot"], jdk: ["11", "16", "17"], dockerfile: "jetty-split", args: [sourceVersion: "11.0.1"], war: "servlet-5.0"],
[version: ["11.0.1"], vm: ["openj9"], jdk: ["11", "16"], dockerfile: "jetty-split", args: [sourceVersion: "11.0.1"], war: "servlet-5.0"]
],
"jetty" : linuxTargets["jetty"],
"tomcat" : linuxTargets["tomcat"],
"tomee" : [
[version: ["7.0.0"], vm: ["hotspot", "openj9"], jdk: ["8"]],

View File

@ -1,21 +0,0 @@
ARG jdkImage
# Unzip in a separate container so that zip file layer is not part of final image
FROM mcr.microsoft.com/windows/servercore:1809 as builder
ARG sourceVersion
ADD https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-home/${sourceVersion}/jetty-home-${sourceVersion}.zip /server.zip
RUN ["powershell", "-Command", "expand-archive -Path /server.zip -DestinationPath /server"]
FROM ${jdkImage}-windowsservercore-1809
ARG sourceVersion
# Make /server the base directory to simplify all further paths
COPY --from=builder /server/jetty-home-${sourceVersion} /server
RUN ["powershell", "-Command", "New-Item -Path / -Name base -ItemType directory"]
WORKDIR /base
ENV JETTY_HOME=/server
ENV JETTY_BASE=/base
RUN java -jar /server/start.jar --add-module=ext,server,jsp,resources,deploy,jstl,websocket,http
COPY app.war /base/webapps/
CMD java -jar /server/start.jar

View File

@ -1,23 +1,24 @@
ARG version
ARG jdkImage
FROM jetty:${version}-jre11-slim as jetty
# Unzip in a separate container so that zip file layer is not part of final image
FROM ${jdkImage} as builder
ARG sourceVersion
ADD https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-home/${sourceVersion}/jetty-home-${sourceVersion}.tar.gz /server.tgz
RUN tar xf server.tgz && mv jetty-home-${sourceVersion} /server
FROM ${jdkImage}
ENV JETTY_HOME /usr/local/jetty
ENV JETTY_BASE /var/lib/jetty
ENV TMPDIR /tmp/jetty
ENV PATH $JETTY_HOME/bin:$PATH
COPY --from=jetty $JETTY_HOME $JETTY_HOME
COPY --from=jetty $JETTY_BASE $JETTY_BASE
COPY --from=jetty $TMPDIR $TMPDIR
COPY --from=builder /server /server
ENV JETTY_HOME=/server
ENV JETTY_BASE=/base
RUN mkdir $JETTY_BASE && \
cd $JETTY_BASE && \
# depending on Jetty version one of the following commands should succeed
java -jar /server/start.jar --add-module=ext,server,jsp,resources,deploy,jstl,websocket,http || \
java -jar /server/start.jar --add-to-start=ext,server,jsp,resources,deploy,jstl,websocket,http
WORKDIR $JETTY_BASE
COPY --from=jetty docker-entrypoint.sh generate-jetty-start.sh /
COPY app.war $JETTY_BASE/webapps/
CMD ["java","-jar","/server/start.jar"]
EXPOSE 8080
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["java","-jar","/usr/local/jetty/start.jar"]
COPY app.war $JETTY_BASE/webapps/

View File

@ -4,17 +4,22 @@ ARG jdkImage
FROM mcr.microsoft.com/windows/servercore:1809 as builder
ARG sourceVersion
ADD https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/${sourceVersion}/jetty-distribution-${sourceVersion}.zip /server.zip
ADD https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-home/${sourceVersion}/jetty-home-${sourceVersion}.zip /server.zip
RUN ["powershell", "-Command", "expand-archive -Path /server.zip -DestinationPath /server"]
FROM ${jdkImage}-windowsservercore-1809
ARG sourceVersion
# Make /server the base directory to simplify all further paths
COPY --from=builder /server/jetty-distribution-${sourceVersion} /server
COPY app.war /server/webapps/
RUN ["powershell", "-Command", "New-Item -Path /server -Name base -ItemType directory"]
WORKDIR /server
COPY --from=builder /server/jetty-home-${sourceVersion} /server
RUN ["powershell", "-Command", "New-Item -Path / -Name base -ItemType directory"]
ENV JETTY_HOME=/server
ENV JETTY_BASE=/server
ENV JETTY_BASE=/base
WORKDIR $JETTY_BASE
# depending on Jetty version one of the following commands should succeed
RUN java -jar /server/start.jar --add-module=ext,server,jsp,resources,deploy,jstl,websocket,http; \
if ($LASTEXITCODE -ne 0) { java -jar /server/start.jar --add-to-start=ext,server,jsp,resources,deploy,jstl,websocket,http }
CMD java -jar /server/start.jar
COPY app.war $JETTY_BASE/webapps/