Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Commit 14658032 authored by Joze RIHTARSIC's avatar Joze RIHTARSIC
Browse files

Pull request #79: [EDELIVERY-11518] add option Adotpion JDK 8 and JDK 11 to...

Pull request #79: [EDELIVERY-11518] add option  Adotpion JDK 8 and JDK 11 to start tomcat and springboot images.

Merge in EDELIVERY/smp from EDELIVERY-11518-adoptiumopenjdk-for-dockers to development

* commit '375c119f':
  [EDELIVERY-11518] add option  Adotpion JDK 8 and JDK 11 to start tomcat and springboot images.
parents fe53772e 375c119f
Branches feature/EDELIVERY-11674-alerts-ui-improvements
No related tags found
No related merge requests found
Pipeline #149522 passed with warnings
Showing
with 64 additions and 15 deletions
...@@ -4,6 +4,8 @@ services: ...@@ -4,6 +4,8 @@ services:
image: ${IMAGE_TAG:-edeliverytest}/${IMAGE_SMP_SPRINGBOOT_MYSQL}:${SMP_VERSION} image: ${IMAGE_TAG:-edeliverytest}/${IMAGE_SMP_SPRINGBOOT_MYSQL}:${SMP_VERSION}
hostname: smp-springboot-mysql.local hostname: smp-springboot-mysql.local
environment: environment:
# example to start it with JDK 8
# - JDK_VERSION=8
- SMP_INIT_PROPERTIES=smp.passwordPolicy.expired.forceChange=false - SMP_INIT_PROPERTIES=smp.passwordPolicy.expired.forceChange=false
||smp.automation.authentication.external.tls.SSLClientCert.enabled=true ||smp.automation.authentication.external.tls.SSLClientCert.enabled=true
||smp.cluster.enabled=false ||smp.cluster.enabled=false
......
...@@ -4,6 +4,8 @@ services: ...@@ -4,6 +4,8 @@ services:
image: ${IMAGE_TAG:-edeliverytest}/${IMAGE_SMP_TOMCAT_MYSQL}:${SMP_VERSION} image: ${IMAGE_TAG:-edeliverytest}/${IMAGE_SMP_TOMCAT_MYSQL}:${SMP_VERSION}
hostname: eulogin.protected.smp.local hostname: eulogin.protected.smp.local
environment: environment:
# example to start it with JDK 8
# - JDK_VERSION=8
- SMP_INIT_PROPERTIES=smp.passwordPolicy.expired.forceChange=false - SMP_INIT_PROPERTIES=smp.passwordPolicy.expired.forceChange=false
||smp.automation.authentication.external.tls.SSLClientCert.enabled=true ||smp.automation.authentication.external.tls.SSLClientCert.enabled=true
||smp.cluster.enabled=false ||smp.cluster.enabled=false
......
...@@ -18,8 +18,17 @@ ENV SMP_HOME=/opt/smp \ ...@@ -18,8 +18,17 @@ ENV SMP_HOME=/opt/smp \
# set debug # set debug
JPDA_ADDRESS="5005" \ JPDA_ADDRESS="5005" \
JPDA_TRANSPORT="dt_socket" \ JPDA_TRANSPORT="dt_socket" \
SMP_PORT=8084 SMP_PORT=8084 \
JAVA_8_VERSION="jdk8u402-b06" \
JAVA_8_URL_FILENAME="OpenJDK8U-jdk_x64_linux_hotspot_8u402b06.tar.gz" \
JAVA_8_SHA256=fcfd08abe39f18e719e391f2fc37b8ac1053075426d10efac4cbf8969e7aa55e \
JAVA_11_VERSION="jdk-11.0.22+7" \
JAVA_11_URL_FILENAME="OpenJDK11U-jdk_x64_linux_hotspot_11.0.22_7.tar.gz" \
JAVA_11_SHA256=25cf602cac350ef36067560a4e8042919f3be973d419eac4d839e2e0000b2cc8 \
JDK_VERSION=11
# set default java home environment variable
ENV JAVA_HOME=/opt/java/${JAVA_11_VERSION}/
# Exposing ports used in entrypoint.sh .. # Exposing ports used in entrypoint.sh ..
# - 3306 Mysql port # - 3306 Mysql port
# - 8080 springboot port # - 8080 springboot port
...@@ -34,12 +43,20 @@ RUN apt-get update -qqy \ ...@@ -34,12 +43,20 @@ RUN apt-get update -qqy \
&& apt-get upgrade -qqy \ && apt-get upgrade -qqy \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
mysql-server \ mysql-server \
openjdk-8-jdk \ ca-certificates \
locales\ locales\
wget \
curl \ curl \
unzip \ unzip \
haveged \ haveged \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
RUN mkdir -p /opt/java \
&& wget -O /opt/java/${JAVA_11_VERSION}.tar.gz https://github.com/adoptium/temurin11-binaries/releases/download/${JAVA_11_VERSION}/${JAVA_11_URL_FILENAME} \
&& wget -O /opt/java/${JAVA_8_VERSION}.tar.gz https://github.com/adoptium/temurin8-binaries/releases/download/${JAVA_8_VERSION}/${JAVA_8_URL_FILENAME} \
&& sha256sum /opt/java/${JAVA_11_VERSION}.tar.gz | grep ${JAVA_11_SHA256} \
&& sha256sum /opt/java/${JAVA_8_VERSION}.tar.gz | grep ${JAVA_8_SHA256} \
&& tar -xvf /opt/java/${JAVA_11_VERSION}.tar.gz -C /opt/java/ \
&& tar -xvf /opt/java/${JAVA_8_VERSION}.tar.gz -C /opt/java/
RUN localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 \ RUN localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 \
# set user # set user
&& addgroup mysql mysql \ && addgroup mysql mysql \
...@@ -47,7 +64,6 @@ RUN localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF ...@@ -47,7 +64,6 @@ RUN localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF
&& useradd -s /bin/false -g smp -d ${SMP_HOME} smp \ && useradd -s /bin/false -g smp -d ${SMP_HOME} smp \
&& mkdir -p $SMP_HOME/logs \ && mkdir -p $SMP_HOME/logs \
&& cd $SMP_HOME \ && cd $SMP_HOME \
&& export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") \
&& echo "server.port=${SMP_PORT}" > $SMP_HOME/application.properties && echo "server.port=${SMP_PORT}" > $SMP_HOME/application.properties
ADD ./artefacts /tmp/artefacts ADD ./artefacts /tmp/artefacts
......
...@@ -3,8 +3,10 @@ DomiSMP with sprinboot and mysql database. ...@@ -3,8 +3,10 @@ DomiSMP with sprinboot and mysql database.
The Image is intended for internal testing of the DomiSMP snapshots builds. The images should not The Image is intended for internal testing of the DomiSMP snapshots builds. The images should not
be used in production environment. be used in production environment.
The image is shipped with jdk 8 and 11. By default the jdk 11 is used, but it can be changed by setting the environment
variable JDK_VERSION=8 to start the container with JAVA_HOME pointing to jdk 8.
Image contains SMP deployed on the spring Embedded Tomcat 9 server with the MYSQL. Image contains SMP deployed on the spring Embedded Tomcat 9 server with the MySQL 8.
# How to build # How to build
......
...@@ -2,6 +2,10 @@ ...@@ -2,6 +2,10 @@
#set -e #set -e
# set java home
if [ "${JDK_VERSION}" == "8" ]; then
export JAVA_HOME=/opt/java/${JAVA_8_VERSION}
fi
# parameters # parameters
MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-"root"} MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-"root"}
SMP_DB_USER=${SMP_DB_USER:-"smp"} SMP_DB_USER=${SMP_DB_USER:-"smp"}
...@@ -141,7 +145,7 @@ init_mysql ...@@ -141,7 +145,7 @@ init_mysql
init_smp_properties init_smp_properties
init_smp init_smp
echo '[INFO] start running SMP' echo '[INFO] start running SMP with JAVA version:'
"${JAVA_HOME}/bin/java" -version "${JAVA_HOME}/bin/java" -version
cd $SMP_HOME/ cd $SMP_HOME/
ls -ltr ls -ltr
......
...@@ -12,6 +12,12 @@ ENV SMP_HOME=/opt/smp \ ...@@ -12,6 +12,12 @@ ENV SMP_HOME=/opt/smp \
TOMCAT_VERSION=9.0.73 \ TOMCAT_VERSION=9.0.73 \
TOMCAT_NAVITVE_VERSION=1.2.36 \ TOMCAT_NAVITVE_VERSION=1.2.36 \
TOMCAT_SHA512=4deac84d6f8ff147d0060605e85fd2c0bf92b9eb622e426d4acc19d0cd4fc0d46a394e01e5664076a5e4f1c39ae14fc2238ebee53a7779bf086540f6dc4967c8 \ TOMCAT_SHA512=4deac84d6f8ff147d0060605e85fd2c0bf92b9eb622e426d4acc19d0cd4fc0d46a394e01e5664076a5e4f1c39ae14fc2238ebee53a7779bf086540f6dc4967c8 \
JAVA_8_VERSION="jdk8u402-b06" \
JAVA_8_URL_FILENAME="OpenJDK8U-jdk_x64_linux_hotspot_8u402b06.tar.gz" \
JAVA_8_SHA256=fcfd08abe39f18e719e391f2fc37b8ac1053075426d10efac4cbf8969e7aa55e \
JAVA_11_VERSION="jdk-11.0.22+7" \
JAVA_11_URL_FILENAME="OpenJDK11U-jdk_x64_linux_hotspot_11.0.22_7.tar.gz" \
JAVA_11_SHA256=25cf602cac350ef36067560a4e8042919f3be973d419eac4d839e2e0000b2cc8 \
SMP_DB_SCHEMA=smp \ SMP_DB_SCHEMA=smp \
SMP_DB_USER=smp \ SMP_DB_USER=smp \
SMP_INIT_PROPERTY_DELIMITER="||" \ SMP_INIT_PROPERTY_DELIMITER="||" \
...@@ -36,6 +42,9 @@ ENV SMP_HOME=/opt/smp \ ...@@ -36,6 +42,9 @@ ENV SMP_HOME=/opt/smp \
JPDA_ADDRESS="5005" \ JPDA_ADDRESS="5005" \
JPDA_TRANSPORT="dt_socket" JPDA_TRANSPORT="dt_socket"
# set tomcat and java home environment variables
ENV TOMCAT_HOME=/opt/apache-tomcat-$TOMCAT_VERSION \
JAVA_HOME=/opt/java/${JAVA_11_VERSION}/
# Exposing ports used in entrypoint.sh .. # Exposing ports used in entrypoint.sh ..
# - 3306 Mysql port # - 3306 Mysql port
...@@ -45,8 +54,6 @@ ENV SMP_HOME=/opt/smp \ ...@@ -45,8 +54,6 @@ ENV SMP_HOME=/opt/smp \
# - JDPA debug port # - JDPA debug port
EXPOSE 3306 8080 6901 53 5005 EXPOSE 3306 8080 6901 53 5005
VOLUME ["/data"] VOLUME ["/data"]
# install utils, java, mysql \ # install utils, java, mysql \
...@@ -54,9 +61,10 @@ RUN apt-get update -qqy \ ...@@ -54,9 +61,10 @@ RUN apt-get update -qqy \
&& apt-get upgrade -qqy \ && apt-get upgrade -qqy \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
mysql-server \ mysql-server \
openjdk-8-jdk \
locales\ locales\
curl \ curl \
ca-certificates \
wget \
unzip \ unzip \
bind9 \ bind9 \
bind9utils \ bind9utils \
...@@ -67,7 +75,15 @@ RUN apt-get update -qqy \ ...@@ -67,7 +75,15 @@ RUN apt-get update -qqy \
libssl-dev \ libssl-dev \
gcc \ gcc \
make \ make \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
RUN mkdir -p /opt/java \
&& wget -O /opt/java/${JAVA_11_VERSION}.tar.gz https://github.com/adoptium/temurin11-binaries/releases/download/${JAVA_11_VERSION}/${JAVA_11_URL_FILENAME} \
&& wget -O /opt/java/${JAVA_8_VERSION}.tar.gz https://github.com/adoptium/temurin8-binaries/releases/download/${JAVA_8_VERSION}/${JAVA_8_URL_FILENAME} \
&& sha256sum /opt/java/${JAVA_11_VERSION}.tar.gz | grep ${JAVA_11_SHA256} \
&& sha256sum /opt/java/${JAVA_8_VERSION}.tar.gz | grep ${JAVA_8_SHA256} \
&& tar -xvf /opt/java/${JAVA_11_VERSION}.tar.gz -C /opt/java/ \
&& tar -xvf /opt/java/${JAVA_8_VERSION}.tar.gz -C /opt/java/
RUN localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 \ RUN localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 \
# set user # set user
&& addgroup mysql mysql \ && addgroup mysql mysql \
...@@ -106,8 +122,7 @@ RUN echo "smp.jdbc.driver=com.mysql.cj.jdbc.Driver" > $SMP_HOME/apache-tomcat- ...@@ -106,8 +122,7 @@ RUN echo "smp.jdbc.driver=com.mysql.cj.jdbc.Driver" > $SMP_HOME/apache-tomcat-
&& mkdir /opt/smlconf/bind && mkdir /opt/smlconf/bind
# enable native TLS on tomcat # enable native TLS on tomcat
RUN export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") \ RUN cd $SMP_HOME/apache-tomcat-$TOMCAT_VERSION/bin \
&& cd $SMP_HOME/apache-tomcat-$TOMCAT_VERSION/bin \
&& tar xfz tomcat-native.tar.gz \ && tar xfz tomcat-native.tar.gz \
&& cd tomcat-native-${TOMCAT_NAVITVE_VERSION}-src/native \ && cd tomcat-native-${TOMCAT_NAVITVE_VERSION}-src/native \
&& ./configure && make && make install && ./configure && make && make install
......
# Test and Domo SMP docker image # Test and Domo SMP docker image
The Image is intended for internal testing of the DomiSMP snapshots builds. The images should not The Image is intended for internal testing of the DomiSMP snapshots builds. The images should not
be used in production environment. be used in production environment.
The image is shipped with jdk 8 and 11. By default the jdk 11 is used, but it can be changed by setting the environment
variable JDK_VERSION=8 to start the container with JAVA_HOME pointing to jdk 8.
# Image build # Image build
...@@ -16,7 +17,7 @@ be used in production environment. ...@@ -16,7 +17,7 @@ be used in production environment.
example: example:
docker run --name smp --rm -it -p 8180:8080 -p 3316:3306 edelivery-docker.devops.tech.ec.europa.eu/edeliverytest/smp-sml-tomcat-mysql:5.0-SNAPSHOT docker run --name smp --rm -it -p 8180:8080 -p 3316:3306 -e JDK_VERSION=8 edelivery-docker.devops.tech.ec.europa.eu/edeliverytest/smp-sml-tomcat-mysql:5.0-SNAPSHOT
## SMP (param: -p 8180:8080 ) ## SMP (param: -p 8180:8080 )
url: http://localhost:8180/smp url: http://localhost:8180/smp
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
# #
version: '3.8' version: '3.8'
services: services:
domismp-springboot-mysql: domismp-tomcat-mysql:
image: ${IMAGE_TAG:-edeliverytest}/${IMAGE_SMP_TOMCAT_MYSQL}:${SMP_VERSION} image: ${IMAGE_TAG:-edeliverytest}/${IMAGE_SMP_TOMCAT_MYSQL}:${SMP_VERSION}
build: build:
context: . context: .
......
...@@ -22,6 +22,12 @@ if [ ! -d ${DATA_DIR} ]; then ...@@ -22,6 +22,12 @@ if [ ! -d ${DATA_DIR} ]; then
mkdir -p ${DATA_DIR} mkdir -p ${DATA_DIR}
fi fi
# set java home
if [ "${JDK_VERSION}" == "8" ]; then
export JAVA_HOME=/opt/java/${JAVA_8_VERSION}
fi
init_tomcat() { init_tomcat() {
# add java code coverage agent to image # add java code coverage agent to image
if [ -e /opt/jacoco/jacoco-agent.jar ]; then if [ -e /opt/jacoco/jacoco-agent.jar ]; then
...@@ -263,6 +269,7 @@ init_smp ...@@ -263,6 +269,7 @@ init_smp
echo "Starting named..." echo "Starting named..."
$(which named) -u ${BIND_USER} &>$BIND_DATA_DIR/bind-console.out & $(which named) -u ${BIND_USER} &>$BIND_DATA_DIR/bind-console.out &
echo "[INFO] JAVA_HOME: $JAVA_HOME"
echo '[INFO] start running SMP' echo '[INFO] start running SMP'
chmod u+x $SMP_HOME/apache-tomcat-$TOMCAT_VERSION/bin/*.sh chmod u+x $SMP_HOME/apache-tomcat-$TOMCAT_VERSION/bin/*.sh
cd $SMP_HOME/apache-tomcat-$TOMCAT_VERSION/ cd $SMP_HOME/apache-tomcat-$TOMCAT_VERSION/
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment