update build docker image

This commit is contained in:
etreschenkov 2026-01-29 14:42:16 +03:00
parent fee03921bf
commit fc0015a2a9
7 changed files with 98 additions and 25 deletions

View file

@ -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"]

View file

@ -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

View file

@ -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}
@ -61,3 +62,64 @@ services:
- 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"]
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"]

14
pom.xml
View file

@ -19,6 +19,8 @@
<git.info.prefix>git_info</git.info.prefix>
<git.info.filename>git.properties</git.info.filename>
<registry.url>10.230.238.56:5000</registry.url>
<jar.main.name>main</jar.main.name>
<jar.monitoring.name>monitoring</jar.monitoring.name>
<!-- <registry.url>rh8-vm3.nbki.msk:5000</registry.url>-->
</properties>
@ -168,7 +170,13 @@
<files>
<file>
<source>
${project.build.directory}/${project.build.finalName}.jar
${project.build.directory}/${project.build.finalName}-${jar.main.name}.jar
</source>
<outputDirectory>.</outputDirectory>
</file>
<file>
<source>
${project.build.directory}/${project.build.finalName}-${jar.monitoring.name}.jar
</source>
<outputDirectory>.</outputDirectory>
</file>
@ -252,7 +260,7 @@
</goals>
<configuration>
<mainClass>ru.nbch.credit_tracker.service.mode.common.CTMainApplication</mainClass>
<classifier>main</classifier>
<classifier>${jar.main.name}</classifier>
<attach>true</attach>
<excludes>
<exclude>
@ -271,7 +279,7 @@
</goals>
<configuration>
<mainClass>ru.nbch.credit_tracker.service.mode.monitoring.CTMonitoringApplication</mainClass>
<classifier>monitoring</classifier>
<classifier>${jar.monitoring.name}</classifier>
<attach>true</attach>
<excludes>
<exclude>

View file

@ -1,8 +1,8 @@
<configuration>
<property name="basedir" value="${user.dir}" />
<property name="logFile" value="${basedir}/logs/app/credit-tracker.log" />
<property name="logFileNamePattern" value="${basedir}/logs/app/credit-tracker.%i.log" />
<property name="logFile" value="${basedir}/logs/app/credit-tracker-${APP_JAR}.log" />
<property name="logFileNamePattern" value="${basedir}/logs/app/credit-tracker-${APP_JAR}.%i.log" />
<property name="jsonLogFile" value="${basedir}/logs/json/credit-tracker-json.log" />
<property name="jsonLogFileNamePattern" value="${basedir}/logs/json/credit-tracker-json.%d{yyyy-MM-dd}.%i.gz" />

View file

@ -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')

View file

@ -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