11# To build this stack:
2- # docker build -t quay.io/openshiftlabs/quarkus-workshop-stack:3.20 -ocp-4.19 -f stack.Dockerfile .
3- # docker push quay.io/openshiftlabs/quarkus-workshop-stack:3.20 -ocp-4.19
2+ # docker build -t quay.io/openshiftlabs/quarkus-workshop-stack:3.27 -ocp-4.20 -f stack.Dockerfile .
3+ # docker push quay.io/openshiftlabs/quarkus-workshop-stack:3.27 -ocp-4.20
44# macOS M1: --platform linux/x86_64
55
66FROM registry.redhat.io/devspaces/udi-rhel9:latest
77
8- ENV MANDREL_VERSION=23.1.2 .0-Final
9- ENV MVN_VERSION=3.9.6
8+ ENV MANDREL_VERSION=23.1.9 .0-Final
9+ ENV MVN_VERSION=3.9.9
1010ENV GRAALVM_HOME="/usr/local/mandrel-java21-${MANDREL_VERSION}"
11- ENV JAVA_HOME="/usr/lib/jvm/java-21-openjdk"
11+ ENV JAVA_HOME="/usr/lib/jvm/java-21-openjdk"
1212ENV PATH="/usr/local/maven/apache-maven-${MVN_VERSION}/bin:$JAVA_HOME/bin:${PATH}"
13- ENV RHBQ_VERSION=3.20 .1.redhat-00003
14- ENV QUARKUS_CLI_VERSION=3.24.3
13+ ENV RHBQ_VERSION=3.27 .1.redhat-00003
14+ ENV QUARKUS_CLI_VERSION=3.27.1
1515ENV JBANG_DIR="/usr/local/jbang"
16- ENV OC_VERSION=4.19.7
16+ ENV OC_VERSION=4.20.8
1717
1818USER root
1919
2020# WARNING: devspaces/udi-rhel9 also provides an oc binary!
21- # Run the following oc installation ONLY in cases when a custom oc version is required:
22- RUN curl -s https://mirror.openshift.com/pub/openshift-v4/clients/ocp/$OC_VERSION/openshift-client-linux-$OC_VERSION.tar.gz -o /tmp/openshift-client-linux-$OC_VERSION.tar.gz && tar -xvf /tmp/openshift-client-linux-$OC_VERSION.tar.gz -C /usr/bin/ && chmod +x /usr/bin/oc && chmod +x /usr/bin/kubectl && rm /tmp/openshift-client-linux-$OC_VERSION.tar.gz /usr/bin/README.md
23-
21+ # Run the following oc installation ONLY in cases when a custom oc version is needed:
22+ RUN curl -s https://mirror.openshift.com/pub/openshift-v4/clients/ocp/$OC_VERSION/openshift-client-linux-$OC_VERSION.tar.gz -o /tmp/openshift-client-linux-$OC_VERSION.tar.gz \
23+ && tar -xvf /tmp/openshift-client-linux-$OC_VERSION.tar.gz -C /usr/bin/ \
24+ && chmod +x /usr/bin/oc \
25+ && chmod +x /usr/bin/kubectl \
26+ && rm /tmp/openshift-client-linux-$OC_VERSION.tar.gz /usr/bin/README.md
2427# RUN wget -O /tmp/openjdk-21.0.7.tar.gz https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.7%2B6/OpenJDK21U-jdk_x64_linux_hotspot_21.0.7_6.tar.gz && tar -xvzf /tmp/openjdk-21.0.7.tar.gz && rm -rf /tmp/openjdk-21.0.7.tar.gz && mv jdk-21.0.7+6 /tmp/java-21-openjdk && sudo mv /tmp/java-21-openjdk /usr/lib/jvm/ && sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-21-openjdk/bin/java 1
2528RUN wget -O /tmp/mvn.tar.gz https://archive.apache.org/dist/maven/maven-3/${MVN_VERSION}/binaries/apache-maven-${MVN_VERSION}-bin.tar.gz && sudo tar -xvzf /tmp/mvn.tar.gz && rm -rf /tmp/mvn.tar.gz && mkdir /usr/local/maven && mv apache-maven-${MVN_VERSION}/ /usr/local/maven/ && alternatives --install /usr/bin/mvn mvn /usr/local/maven/apache-maven-${MVN_VERSION}/bin/mvn 1
26- RUN sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8 .noarch.rpm && sudo microdnf install -y zlib-devel gcc siege gcc-c++ && sudo curl -Lo /usr/bin/jq https://github.com/stedolan/jq/releases/download/jq-1.6 /jq-linux64 && sudo chmod a+x /usr/bin/jq
29+ RUN sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-9 .noarch.rpm && sudo microdnf install -y zlib-devel gcc siege gcc-c++ && sudo curl -Lo /usr/bin/jq https://github.com/stedolan/jq/releases/download/jq-1.8.1 /jq-linux-amd64 && sudo chmod a+x /usr/bin/jq
2730RUN wget -O /tmp/mandrel.tar.gz https://github.com/graalvm/mandrel/releases/download/mandrel-${MANDREL_VERSION}/mandrel-java21-linux-amd64-${MANDREL_VERSION}.tar.gz && cd /usr/local && sudo tar -xvzf /tmp/mandrel.tar.gz && rm -rf /tmp/mandrel.tar.gz
2831RUN ln -f -s /usr/lib/jvm/java-21-openjdk/* ${HOME}/.java/current
2932
3033RUN mkdir -p /usr/local/quarkus-cli/lib && mkdir /usr/local/quarkus-cli/bin
3134RUN wget -O /tmp/quarkus-cli.tgz https://github.com/quarkusio/quarkus/releases/download/${QUARKUS_CLI_VERSION}/quarkus-cli-${QUARKUS_CLI_VERSION}.tar.gz && tar -xzf /tmp/quarkus-cli.tgz -C /tmp
3235RUN cp /tmp/quarkus-cli-${QUARKUS_CLI_VERSION}/bin/quarkus /usr/local/bin && cp /tmp/quarkus-cli-${QUARKUS_CLI_VERSION}/lib/quarkus-cli-${QUARKUS_CLI_VERSION}-runner.jar /usr/local/lib
3336RUN chmod +x /usr/local/bin/quarkus && cd /usr/local/bin
34- RUN mkdir -p ${JBANG_DIR} && curl -Ls https://sh.jbang.dev | bash -s - app setup
37+ RUN mkdir -p ${JBANG_DIR} && curl -Ls https://sh.jbang.dev | bash -s - app setup
3538RUN ln -s ${JBANG_DIR}/bin/jbang /usr/local/bin/jbang
3639
3740USER user
@@ -40,7 +43,7 @@ RUN mkdir -p /home/user/.m2
4043COPY settings.xml /home/user/.m2
4144RUN cd /tmp && mkdir project && cd project && mvn com.redhat.quarkus.platform:quarkus-maven-plugin:${RHBQ_VERSION}:create -DprojectGroupId=org.acme -DprojectArtifactId=footest -DplatformGroupId=com.redhat.quarkus.platform -DplatformVersion=${RHBQ_VERSION} -Dextensions="quarkus-rest,quarkus-rest-jackson,quarkus-agroal,quarkus-jdbc-h2,quarkus-jdbc-postgresql,quarkus-kubernetes,quarkus-scheduler,quarkus-smallrye-fault-tolerance,quarkus-smallrye-health" && mvn -f footest clean compile package -DskipTests && cd / && rm -rf /tmp/project
4245RUN cd /tmp && mkdir project && cd project && mvn com.redhat.quarkus.platform:quarkus-maven-plugin:${RHBQ_VERSION}:create -DprojectGroupId=org.acme -DprojectArtifactId=footest -DplatformGroupId=com.redhat.quarkus.platform -DplatformVersion=${RHBQ_VERSION} -Dextensions="quarkus-messaging-kafka,quarkus-vertx,quarkus-kafka-client,quarkus-micrometer-registry-prometheus,quarkus-smallrye-openapi,quarkus-rest-qute,quarkus-opentelemetry" && mvn -f footest clean compile package -Pnative -DskipTests && cd / && rm -rf /tmp/project
43- RUN cd /tmp && git clone https://github.com/RedHat-Middleware-Workshops/quarkus-workshop-m3-labs && cd quarkus-workshop-m3-labs && git checkout ocp-4.19 && for proj in *-petclinic* ; do mvn -fn -f ./$proj dependency:resolve-plugins dependency:resolve dependency:go-offline clean compile -DskipTests ; done && cd /tmp && rm -rf /tmp/quarkus-workshop-m3-labs
46+ RUN cd /tmp && git clone https://github.com/RedHat-Middleware-Workshops/quarkus-workshop-m3-labs && cd quarkus-workshop-m3-labs && git checkout rhbq-3.27 && for proj in *-petclinic* ; do mvn -fn -f ./$proj dependency:resolve-plugins dependency:resolve dependency:go-offline clean compile -DskipTests ; done && cd /tmp && rm -rf /tmp/quarkus-workshop-m3-labs
4447RUN siege && sed -i 's/^connection = close/connection = keep-alive/' $HOME/.siege/siege.conf && sed -i 's/^benchmark = false/benchmark = true/' $HOME/.siege/siege.conf
4548RUN echo '-w "\n "' > $HOME/.curlrc
4649
0 commit comments