From 7487ae0a94fbdf0b255a52231de50c54311da49c Mon Sep 17 00:00:00 2001 From: Pavel Zilke Date: Thu, 15 Aug 2024 15:07:07 +0300 Subject: [PATCH] DEVOPS-1775 tomcat docker refactoring --- Dockerfile | 39 +++++++++++-------- Dockerfile.old | 18 +++++++++ config/tomcat/tomee/bin/setenv.sh | 9 +++++ config/tomcat/tomee/conf/context.xml | 36 +++++++++++++++++ config/tomcat/tomee/conf/tomcat-users.xml | 39 +++++++++++++++++++ config/tomcat/tomee/conf/webbpm.properties | 15 +++++++ .../webapps/manager/META-INF/context.xml | 26 +++++++++++++ 7 files changed, 165 insertions(+), 17 deletions(-) create mode 100644 Dockerfile.old create mode 100755 config/tomcat/tomee/bin/setenv.sh create mode 100644 config/tomcat/tomee/conf/context.xml create mode 100644 config/tomcat/tomee/conf/tomcat-users.xml create mode 100644 config/tomcat/tomee/conf/webbpm.properties create mode 100644 config/tomcat/tomee/webapps/manager/META-INF/context.xml diff --git a/Dockerfile b/Dockerfile index a284efa0..720e104f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,18 +1,23 @@ -FROM tomee:8.0.15-jre17-webprofile +FROM maven:3-openjdk-17-slim AS build +RUN apt update \ + && apt upgrade -y \ + && curl -fsSL https://deb.nodesource.com/setup_14.x | bash - \ + && apt install -y git nodejs \ + && rm -rf /var/lib/apt/lists/* -RUN \ - rm -rf /usr/local/tomee/webapps/ROOT && \ - echo "fias.enable=false" >> /usr/local/tomee/conf/catalina.properties && \ - echo "webbpm.jbpm.hibernate_statistics.enabled=false" >> /usr/local/tomee/conf/catalina.properties && \ - echo "webbpm.mode=production" >> /usr/local/tomee/conf/catalina.properties && \ - echo "authentication.method=form" >> /usr/local/tomee/conf/catalina.properties && \ - echo "webbpm.cache.hazelcast.hosts=127.0.0.1" >> /usr/local/tomee/conf/catalina.properties && \ - echo "webbpm.cache.hazelcast.outbound_port_definitions=5801-5820" >> /usr/local/tomee/conf/catalina.properties && \ - echo "gar.enable=false" >> /usr/local/tomee/conf/catalina.properties && \ - echo "reset_password.mail.template.path=mail/reset_password.html" >> /usr/local/tomee/conf/catalina.properties && \ - echo "security.password.regex=^(?=.*[a-zA-Z])(?=.*[0-9])[a-zA-Z0-9]+$" >> /usr/local/tomee/conf/catalina.properties && \ - echo "bpmn.enable=false" >> /usr/local/tomee/conf/catalina.properties -COPY config/context.xml /usr/local/tomee/conf/ -#COPY config/tomcat-users.xml /usr/local/tomee/conf/ -COPY frontend/dist/ /usr/local/tomee/webapps/ROOT -COPY backend/target/*.war /usr/local/tomee/webapps/ul.war +WORKDIR /app +COPY . . +RUN mvn clean && mvn package -T4C + +FROM gitlab.micord.ru:5050/common/base/webbpm/webbpm-tomcat-cprocsp:8.0.15-jre17-webprofile +ARG ADMIN_PASSWORD=Secr3t + +COPY config/tomcat/tomee /usr/local/tomee + +RUN rm -rf /usr/local/tomee/webapps/ROOT \ + && cat /usr/local/tomee/conf/webbpm.properties >> /usr/local/tomee/conf/catalina.properties \ + && sed -i -r "s//$ADMIN_PASSWORD/g" /usr/local/tomee/conf/tomcat-users.xml + +COPY --from=build /app/backend/libs/ /usr/local/tomee/lib/ +COPY --from=build /app/frontend/target/*.war /usr/local/tomee/webapps/ROOT.war +COPY --from=build /app/backend/target/*.war /usr/local/tomee/webapps/ul.war diff --git a/Dockerfile.old b/Dockerfile.old new file mode 100644 index 00000000..a284efa0 --- /dev/null +++ b/Dockerfile.old @@ -0,0 +1,18 @@ +FROM tomee:8.0.15-jre17-webprofile + +RUN \ + rm -rf /usr/local/tomee/webapps/ROOT && \ + echo "fias.enable=false" >> /usr/local/tomee/conf/catalina.properties && \ + echo "webbpm.jbpm.hibernate_statistics.enabled=false" >> /usr/local/tomee/conf/catalina.properties && \ + echo "webbpm.mode=production" >> /usr/local/tomee/conf/catalina.properties && \ + echo "authentication.method=form" >> /usr/local/tomee/conf/catalina.properties && \ + echo "webbpm.cache.hazelcast.hosts=127.0.0.1" >> /usr/local/tomee/conf/catalina.properties && \ + echo "webbpm.cache.hazelcast.outbound_port_definitions=5801-5820" >> /usr/local/tomee/conf/catalina.properties && \ + echo "gar.enable=false" >> /usr/local/tomee/conf/catalina.properties && \ + echo "reset_password.mail.template.path=mail/reset_password.html" >> /usr/local/tomee/conf/catalina.properties && \ + echo "security.password.regex=^(?=.*[a-zA-Z])(?=.*[0-9])[a-zA-Z0-9]+$" >> /usr/local/tomee/conf/catalina.properties && \ + echo "bpmn.enable=false" >> /usr/local/tomee/conf/catalina.properties +COPY config/context.xml /usr/local/tomee/conf/ +#COPY config/tomcat-users.xml /usr/local/tomee/conf/ +COPY frontend/dist/ /usr/local/tomee/webapps/ROOT +COPY backend/target/*.war /usr/local/tomee/webapps/ul.war diff --git a/config/tomcat/tomee/bin/setenv.sh b/config/tomcat/tomee/bin/setenv.sh new file mode 100755 index 00000000..8b69e674 --- /dev/null +++ b/config/tomcat/tomee/bin/setenv.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +export JAVA_OPTS="$JAVA_OPTS \ + -Ddb.app.host=${DB_APP_HOST:-db} \ + -Ddb.app.port=${DB_APP_PORT:-5432} \ + -Ddb.app.name=${DB_APP_NAME:-app} \ + -Ddb.app.username=${DB_APP_USERNAME:-app_user} \ + -Ddb.app.password=${DB_APP_PASSWORD:-apppassword} \ +" diff --git a/config/tomcat/tomee/conf/context.xml b/config/tomcat/tomee/conf/context.xml new file mode 100644 index 00000000..92d999c7 --- /dev/null +++ b/config/tomcat/tomee/conf/context.xml @@ -0,0 +1,36 @@ + + + + + + + + WEB-INF/web.xml + WEB-INF/tomcat-web.xml + ${catalina.base}/conf/web.xml + + + + + + diff --git a/config/tomcat/tomee/conf/tomcat-users.xml b/config/tomcat/tomee/conf/tomcat-users.xml new file mode 100644 index 00000000..4a9631c8 --- /dev/null +++ b/config/tomcat/tomee/conf/tomcat-users.xml @@ -0,0 +1,39 @@ + + + + + + diff --git a/config/tomcat/tomee/conf/webbpm.properties b/config/tomcat/tomee/conf/webbpm.properties new file mode 100644 index 00000000..0fe1d606 --- /dev/null +++ b/config/tomcat/tomee/conf/webbpm.properties @@ -0,0 +1,15 @@ +# WebBPM properties + +authentication.method=form + +bpmn.enable=false +fias.enable=false +gar.enable=false + +reset_password.mail.template.path=mail/reset_password.html +security.password.regex=^(?=.*[a-zA-Z])(?=.*[0-9])[a-zA-Z0-9]+$ + +webbpm.mode=production +webbpm.jbpm.hibernate_statistics.enabled=false +webbpm.cache.hazelcast.hosts=127.0.0.1 +webbpm.cache.hazelcast.outbound_port_definitions=5801-5820 diff --git a/config/tomcat/tomee/webapps/manager/META-INF/context.xml b/config/tomcat/tomee/webapps/manager/META-INF/context.xml new file mode 100644 index 00000000..82a93f33 --- /dev/null +++ b/config/tomcat/tomee/webapps/manager/META-INF/context.xml @@ -0,0 +1,26 @@ + + + + + + +