From 7bcb0c65787725a7de7f43a91fd2a2c3d6ea175b Mon Sep 17 00:00:00 2001 From: Gael Abadin <gael.abadin@inverid.com> Date: Wed, 7 Feb 2024 15:11:11 +0100 Subject: [PATCH] Build docker image from bookworm so arm64 builds are available for any version --- hello-payara-world-test/pom.xml | 23 ++++++++---- .../test/resources/dockerfiles/entrypoint.sh | 2 +- .../resources/dockerfiles/payara.Dockerfile | 35 ++++++++++++++++--- 3 files changed, 47 insertions(+), 13 deletions(-) diff --git a/hello-payara-world-test/pom.xml b/hello-payara-world-test/pom.xml index 041c0ab..5c64480 100644 --- a/hello-payara-world-test/pom.xml +++ b/hello-payara-world-test/pom.xml @@ -104,13 +104,22 @@ </goals> <configuration> <artifactItems> - <artifactItem> - <groupId>org.postgresql</groupId> - <artifactId>postgresql</artifactId> - <version>42.7.0</version> - <overWrite>false</overWrite> - <outputDirectory>${project.basedir}/target/test-classes/dockerfiles</outputDirectory> - </artifactItem> + <artifactItem> + <groupId>fish.payara.distributions</groupId> + <artifactId>payara</artifactId> + <version>${payara.version}</version> + <type>zip</type> + <overWrite>true</overWrite> + <outputDirectory>${project.basedir}/target/test-classes/dockerfiles</outputDirectory> + <destFileName>payara.zip</destFileName> + </artifactItem> + <artifactItem> + <groupId>org.postgresql</groupId> + <artifactId>postgresql</artifactId> + <version>42.7.0</version> + <overWrite>false</overWrite> + <outputDirectory>${project.basedir}/target/test-classes/dockerfiles</outputDirectory> + </artifactItem> </artifactItems> </configuration> </execution> diff --git a/hello-payara-world-test/src/test/resources/dockerfiles/entrypoint.sh b/hello-payara-world-test/src/test/resources/dockerfiles/entrypoint.sh index 02f075c..2d83a2f 100644 --- a/hello-payara-world-test/src/test/resources/dockerfiles/entrypoint.sh +++ b/hello-payara-world-test/src/test/resources/dockerfiles/entrypoint.sh @@ -1,6 +1,6 @@ #!/bin/bash if [ -f /tmp/firstrun ]; then - echo "deploy /opt/payara/hello.ear" >> "first_run_post_boot_commands" + echo "deploy /opt/payara6/hello.ear" >> "first_run_post_boot_commands" asadmin start-domain -v --postbootcommandfile=first_run_post_boot_commands rm /tmp/firstrun else diff --git a/hello-payara-world-test/src/test/resources/dockerfiles/payara.Dockerfile b/hello-payara-world-test/src/test/resources/dockerfiles/payara.Dockerfile index 7f913e8..15c86c6 100644 --- a/hello-payara-world-test/src/test/resources/dockerfiles/payara.Dockerfile +++ b/hello-payara-world-test/src/test/resources/dockerfiles/payara.Dockerfile @@ -1,13 +1,37 @@ -FROM payara/server-full:${payara.version}-jdk17 +FROM debian:bookworm # Ports being exposed EXPOSE 8080 EXPOSE 8181 +USER root + +RUN apt update && \ + apt -y upgrade && \ + apt -y install wget unzip less openjdk-17-jre-headless + ENV PAYARA_VERSION=${payara.version} + +ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 + +# Set environment variables for payara +ENV PAYARA_HOME=/opt/payara6 + +COPY payara.zip . +RUN unzip -o payara.zip -d /opt && \ + rm -f payara.zip + +# Setup payara +RUN mkdir $PAYARA_HOME/.iddocserver &&\ + useradd -d $PAYARA_HOME payara && \ + chown -R payara:payara /opt + +ENV PATH=$PATH:$PAYARA_HOME/bin + # Set payara admin password ENV PAYARA_PASSWORD=changeme -USER root +ENV MEM_MAX_RAM_PERCENTAGE=80 +ENV MEM_XSS=1024k RUN echo "AS_ADMIN_PASSWORD=${PAYARA_PASSWORD}" > /tmp/glassfishpwd RUN chown -R payara:payara /opt RUN chown -R payara:payara /tmp/glassfishpwd @@ -19,8 +43,9 @@ RUN touch /tmp/firstrun && chown payara:payara /tmp/firstrun COPY entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh USER payara -COPY domain.xml /opt/payara/appserver/glassfish/domains/domain1/config/ -COPY *.jar /opt/payara/appserver/glassfish/domains/domain1/lib/ -COPY hello.ear /opt/payara/hello.ear +WORKDIR $PAYARA_HOME +COPY domain.xml $PAYARA_HOME/glassfish/domains/domain1/config/ +COPY *.jar $PAYARA_HOME/glassfish/domains/domain1/lib/ +COPY hello.ear $PAYARA_HOME/hello.ear ENTRYPOINT ["/entrypoint.sh"]