From fc0015a2a9fcc0286a6aaeabc1da97f441f79ab4 Mon Sep 17 00:00:00 2001 From: etreschenkov Date: Thu, 29 Jan 2026 14:42:16 +0300 Subject: [PATCH] update build docker image --- Dockerfile | 6 +-- docker_compose/credit_tracker_config.env | 15 +++--- docker_compose/docker-compose.yml | 68 ++++++++++++++++++++++-- pom.xml | 14 +++-- src/main/resources/logback.xml | 4 +- src/main/resources/sql/v2.21.ddl | 12 ++--- start-credit-tracker.sh | 4 +- 7 files changed, 98 insertions(+), 25 deletions(-) diff --git a/Dockerfile b/Dockerfile index 9bae098..ac4c8bb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM eclipse-temurin:17-jre-alpine +FROM eclipse-temurin:21-jre-alpine MAINTAINER ru.nbch VOLUME /opt/app/logs/app @@ -8,7 +8,8 @@ VOLUME /opt/app/reports WORKDIR /opt/app COPY maven/elastic-apm-agent-1.45.0.jar /opt/app/elastic-apm-agent.jar -COPY maven/credit-tracker.jar /opt/app/credit-tracker.jar +COPY maven/credit-tracker-main.jar /opt/app/credit-tracker-main.jar +COPY maven/credit-tracker-monitoring.jar /opt/app/credit-tracker-monitoring.jar COPY maven/start-credit-tracker.sh /opt/app/start-credit-tracker.sh COPY maven/credit-tracker.properties /opt/app/credit-tracker.properties COPY maven/monitoring-request.xsd /opt/app/monitoring-request.xsd @@ -20,4 +21,3 @@ RUN apk add --no-cache ca-certificates \ RUN apk add gcompat bash RUN chmod +x /opt/app/start-credit-tracker.sh -ENTRYPOINT ["/opt/app/start-credit-tracker.sh"] diff --git a/docker_compose/credit_tracker_config.env b/docker_compose/credit_tracker_config.env index ee8f9ad..9eed6b5 100644 --- a/docker_compose/credit_tracker_config.env +++ b/docker_compose/credit_tracker_config.env @@ -1,14 +1,15 @@ #commons -APP_VERSION=1.20 -REGISTRY_URL=rh8-vm3.nbki.msk:5000 -JMX_PORT= +APP_VERSION=2.0 +REGISTRY_URL=10.230.238.56:5000 +JMX_MAIN_PORT=11001 +JMX_MONITORING_PORT=11002 JMX_HOSTNAME= #volumes -REPORT_DIR=D:\folder_name\signals -LOGS_DIR=D:\folder_name\signals\logs\app -JSON_LOGS_DIR=D:\folder_name\signals\logs\json -ACCESS_LOGS_DIR=D:\folder_name\signals\logs\access +REPORT_DIR=/opt/credit_tracker_docker/reports +LOGS_DIR=/opt/credit_tracker_docker/logs +JSON_LOGS_DIR=/opt/credit_tracker_docker/logs/json +ACCESS_LOGS_DIR=/opt/credit_tracker_docker/logs/access #APM settings APM_SERVICE_NAME=credit-tracker diff --git a/docker_compose/docker-compose.yml b/docker_compose/docker-compose.yml index 7c6a16a..dd67781 100644 --- a/docker_compose/docker-compose.yml +++ b/docker_compose/docker-compose.yml @@ -11,13 +11,14 @@ services: ports: - "${HOST_PORT}:${SERVER_PORT}" environment: + - APP_JAR=main - TZ=Europe/Moscow - - APM_SERVICE_NAME=${APM_SERVICE_NAME} + - APM_SERVICE_NAME=${APM_SERVICE_NAME}-${APP_JAR} - APM_SERVER_URLS=${APM_SERVER_URLS} - APM_ENVIRONMENT=${APM_ENVIRONMENT} - APM_SERVICE_NODE_NAME=${APM_SERVICE_NODE_NAME} - APM_SERVICE_VERSION=${APP_VERSION} - - JMX_PORT=${JMX_PORT} + - JMX_PORT=${JMX_MAIN_PORT} - JMX_HOSTNAME=${JMX_HOSTNAME} - SERVER_PORT=${SERVER_PORT} - DB_URL_INDIC=${DB_URL_INDIC} @@ -60,4 +61,65 @@ services: - SIGNALS_USER=${SIGNALS_USER} - MONITORING_INTERVAL=${MONITORING_INTERVAL} - UPDATE_FLAGS_INTERVAL=${UPDATE_FLAGS_INTERVAL} - - DAYS_TO_UPDATE_FLAGS=${DAYS_TO_UPDATE_FLAGS} \ No newline at end of file + - DAYS_TO_UPDATE_FLAGS=${DAYS_TO_UPDATE_FLAGS} + command: ["/opt/app/start-credit-tracker.sh"] + + credit-tracker-monitoring: + image: ${REGISTRY_URL}/credit-tracker:${APP_VERSION} + container_name: credit-tracker-monitoring + restart: always + volumes: + - ${LOGS_DIR}:/opt/app/logs/app + - ${JSON_LOGS_DIR}:/opt/app/logs/json + environment: + - APP_JAR=monitoring + - TZ=Europe/Moscow + - APM_SERVICE_NAME=${APM_SERVICE_NAME}-${APP_JAR} + - APM_SERVER_URLS=${APM_SERVER_URLS} + - APM_ENVIRONMENT=${APM_ENVIRONMENT} + - APM_SERVICE_NODE_NAME=${APM_SERVICE_NODE_NAME} + - APM_SERVICE_VERSION=${APP_VERSION} + - JMX_PORT=${JMX_MONITORING_PORT} + - JMX_HOSTNAME=${JMX_HOSTNAME} + - DB_URL_INDIC=${DB_URL_INDIC} + - USERNAME_INDIC=${USERNAME_INDIC} + - PASSWORD_INDIC=${PASSWORD_INDIC} + - MAXIMUM_POOL_SIZE_INDIC=${MAXIMUM_POOL_SIZE_INDIC} + - MINIMUM_IDLE_INDIC=${MINIMUM_IDLE_INDIC} + - CONNECTION_TIMEOUT_INDIC=${CONNECTION_TIMEOUT_INDIC} + - VALIDATION_TIMEOUT_INDIC=${VALIDATION_TIMEOUT_INDIC} + - IDLE_TIMEOUT_INDIC=${IDLE_TIMEOUT_INDIC} + - MAX_LIFETIME_INDIC=${MAX_LIFETIME_INDIC} + - KEEPALIVE_TIME_INDIC=${KEEPALIVE_TIME_INDIC} + - LEAK_DETECTION_THRESHOLD_INDIC=${LEAK_DETECTION_THRESHOLD_INDIC} + - DB_URL_SIGNAL=${DB_URL_SIGNAL} + - USERNAME_SIGNAL=${USERNAME_SIGNAL} + - PASSWORD_SIGNAL=${PASSWORD_SIGNAL} + - MAXIMUM_POOL_SIZE_SIGNAL=${MAXIMUM_POOL_SIZE_SIGNAL} + - MINIMUM_IDLE_SIGNAL=${MINIMUM_IDLE_SIGNAL} + - CONNECTION_TIMEOUT_SIGNAL=${CONNECTION_TIMEOUT_SIGNAL} + - VALIDATION_TIMEOUT_SIGNAL=${VALIDATION_TIMEOUT_SIGNAL} + - IDLE_TIMEOUT_SIGNAL=${IDLE_TIMEOUT_SIGNAL} + - MAX_LIFETIME_SIGNAL=${MAX_LIFETIME_SIGNAL} + - KEEPALIVE_TIME_SIGNAL=${KEEPALIVE_TIME_SIGNAL} + - LEAK_DETECTION_THRESHOLD_SIGNAL=${LEAK_DETECTION_THRESHOLD_SIGNAL} + - DB_URL_SCORING=${DB_URL_SCORING} + - USERNAME_SCORING=${USERNAME_SCORING} + - PASSWORD_SCORING=${PASSWORD_SCORING} + - MAXIMUM_POOL_SIZE_SCORING=${MAXIMUM_POOL_SIZE_SCORING} + - MINIMUM_IDLE_SCORING=${MINIMUM_IDLE_SCORING} + - CONNECTION_TIMEOUT_SCORING=${CONNECTION_TIMEOUT_SCORING} + - VALIDATION_TIMEOUT_SCORING=${VALIDATION_TIMEOUT_SCORING} + - IDLE_TIMEOUT_SCORING=${IDLE_TIMEOUT_SCORING} + - MAX_LIFETIME_SCORING=${MAX_LIFETIME_SCORING} + - KEEPALIVE_TIME_SCORING=${KEEPALIVE_TIME_SCORING} + - LEAK_DETECTION_THRESHOLD_SCORING=${LEAK_DETECTION_THRESHOLD_SCORING} + - ACCEPTED_XML_SIZE=${ACCEPTED_XML_SIZE} + - ACCEPTED_ARCHIVE_SIZE=${ACCEPTED_ARCHIVE_SIZE} + - SIGNALS_ROOT_URI=${SIGNALS_ROOT_URI} + - SIGNALS_TOKEN=${SIGNALS_TOKEN} + - SIGNALS_USER=${SIGNALS_USER} + - MONITORING_INTERVAL=${MONITORING_INTERVAL} + - UPDATE_FLAGS_INTERVAL=${UPDATE_FLAGS_INTERVAL} + - DAYS_TO_UPDATE_FLAGS=${DAYS_TO_UPDATE_FLAGS} + command: ["/opt/app/start-credit-tracker.sh"] \ No newline at end of file diff --git a/pom.xml b/pom.xml index 3338c8e..d6966c7 100644 --- a/pom.xml +++ b/pom.xml @@ -19,6 +19,8 @@ git_info git.properties 10.230.238.56:5000 + main + monitoring @@ -168,7 +170,13 @@ - ${project.build.directory}/${project.build.finalName}.jar + ${project.build.directory}/${project.build.finalName}-${jar.main.name}.jar + + . + + + + ${project.build.directory}/${project.build.finalName}-${jar.monitoring.name}.jar . @@ -252,7 +260,7 @@ ru.nbch.credit_tracker.service.mode.common.CTMainApplication - main + ${jar.main.name} true @@ -271,7 +279,7 @@ ru.nbch.credit_tracker.service.mode.monitoring.CTMonitoringApplication - monitoring + ${jar.monitoring.name} true diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml index e0f5bce..3c2d7ee 100644 --- a/src/main/resources/logback.xml +++ b/src/main/resources/logback.xml @@ -1,8 +1,8 @@ - - + + diff --git a/src/main/resources/sql/v2.21.ddl b/src/main/resources/sql/v2.21.ddl index 99cac7e..2cdcaa8 100644 --- a/src/main/resources/sql/v2.21.ddl +++ b/src/main/resources/sql/v2.21.ddl @@ -45,16 +45,16 @@ update signals_user_packages set external_package_name = concat(substring(member INSERT INTO signals_phones_map (fid, phone, flag_90_12, flag_debt5000, calculated_at, searched_at) -SELECT distinct on (phone_l) fid::int, - phone_l, - flag_90_12, - flag_debt5000, - calculated_at, +SELECT distinct on (phone_l) spfm.fid::int, + spfm.phone_l, + spfm.flag_90_12, + spfm.flag_debt5000, + spfm.calculated_at, '2025-01-01' FROM signals_phone_fid_map spfm join signals_user_packages sup on spfm.package_id = sup.id where spfm.fid is not null and sup.status = 'ON_MONITORING' -order by phone_l, calculated_at desc; +order by spfm.phone_l, spfm.calculated_at desc; insert into app_version values ('2.0') \ No newline at end of file diff --git a/start-credit-tracker.sh b/start-credit-tracker.sh index 9f262d8..0a7ae51 100644 --- a/start-credit-tracker.sh +++ b/start-credit-tracker.sh @@ -2,6 +2,7 @@ export APP_JMX_PORT="${JMX_PORT:-11001}" export APP_JMX_HOSTNAME="${JMX_HOSTNAME:-localhost}" +export APP_JAR_FILE="${APP_JAR}" echo "Запуск Credit Tracker" exec java \ @@ -27,4 +28,5 @@ exec java \ -Dcom.sun.management.jmxremote.port="$APP_JMX_PORT" \ -Dcom.sun.management.jmxremote.rmi.port="$APP_JMX_PORT" \ -Djava.rmi.server.hostname="$APP_JMX_HOSTNAME" \ - -jar credit-tracker.jar + -DAPP_JAR="${APP_JAR_FILE}" + -jar credit-tracker-"$APP_JAR_FILE".jar