diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..2a6b014 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,17 @@ +FROM eclipse-temurin:17-jre-alpine +MAINTAINER ru.nbch +RUN apk add gcompat bash + +VOLUME /opt/app/logs +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/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 +COPY maven/signal-package.xsd /opt/app/signal-package.xsd + +RUN chmod +x /opt/app/start-credit-tracker.sh +ENTRYPOINT ["/opt/app/start-credit-tracker.sh"] diff --git a/apm-agent/elastic-apm-agent-1.45.0.jar b/apm-agent/elastic-apm-agent-1.45.0.jar new file mode 100644 index 0000000..2b0e5d0 Binary files /dev/null and b/apm-agent/elastic-apm-agent-1.45.0.jar differ diff --git a/credit-tracker.properties b/credit-tracker.properties index 37e632a..d294b79 100644 --- a/credit-tracker.properties +++ b/credit-tracker.properties @@ -30,7 +30,9 @@ ct.signals-root-uri=http://10.230.227.102:11094/signalRUalfa/ ct.signals-token=gttcHxwcGojoAvZK ct.signals-user=0001ZZ000001 -ct.load-dir=D:\\folder_name\\signals +ct.load-dir=/opt/app/reports +#ct.load-dir=D:\\folder_name\\signals + # min ct.monitoring-interval=15 # days diff --git a/docker_compose/credit_tracker_config.env b/docker_compose/credit_tracker_config.env new file mode 100644 index 0000000..ca5bc7e --- /dev/null +++ b/docker_compose/credit_tracker_config.env @@ -0,0 +1,52 @@ +#commons +APP_VERSION=1.0 +REGISTRY_URL=localhost:5000 +JMX_PORT= +JMX_HOSTNAME= + +#volumes +REPORT_DIR=D:\folder_name\signals +LOGS_DIR=D:\folder_name\signals\logs + +#APM settings +APM_SERVICE_NAME=credit-tracker +APM_SERVER_URLS=test +APM_ENVIRONMENT=test +APM_SERVICE_NODE_NAME=test +APM_SERVICE_VERSION=test + +server.port=8099 + +# datasources +# indic +ct.indic-data-source-settings.driver=com.ibm.db2.jcc.DB2Driver +ct.indic-data-source-settings.url=jdbc:db2://10.230.227.101:2668/cprosd22:currentSchema=INDIC; +ct.indic-data-source-settings.username=tester +ct.indic-data-source-settings.password=tester + +# signal +ct.signal-data-source-settings.driver=org.postgresql.Driver +ct.signal-data-source-settings.url=jdbc:postgresql://10.200.200.133:5432/credit_tracker +ct.signal-data-source-settings.username=credit_tracker_user +ct.signal-data-source-settings.password= + +# scoring +ct.scoring-data-source-settings.driver=com.ibm.db2.jcc.DB2Driver +ct.scoring-data-source-settings.url=jdbc:db2://10.230.227.101:2668/cprosd22:currentSchema=TEST_2_INDIC; +ct.scoring-data-source-settings.username=tester +ct.scoring-data-source-settings.password=tester + +spring.servlet.multipart.max-file-size=2048MB +spring.servlet.multipart.max-request-size=2048MB + +ct.signals-root-uri=http://10.230.227.102:11094/signalRUalfa/ +ct.signals-token=gttcHxwcGojoAvZK +ct.signals-user=0001ZZ000001 + +# min +ct.monitoring-interval=15 +# days +ct.update-flags-interval=1 +ct.days-to-update-flags=30 + + diff --git a/docker_compose/docker-compose.yml b/docker_compose/docker-compose.yml new file mode 100644 index 0000000..9fd1a6d --- /dev/null +++ b/docker_compose/docker-compose.yml @@ -0,0 +1,17 @@ +services: + credit-tracker: + image: ${REGISTRY_URL}/credit-tracker:${APP_VERSION} + container_name: credit-tracker + restart: always + volumes: + - ${LOGS_DIR}:/opt/app/logs + - ${REPORT_DIR}:/opt/app/reports + environment: + - TZ=Europe/Moscow + - APM_SERVICE_NAME=${APM_SERVICE_NAME} + - 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_HOSTNAME="${JMX_HOSTNAME} \ No newline at end of file diff --git a/pom.xml b/pom.xml index 13e4407..46b9fb3 100644 --- a/pom.xml +++ b/pom.xml @@ -9,7 +9,7 @@ ru.nbch - credit_tracker + credit-tracker 1.0 credit_tracker Credit Tracker Application @@ -18,6 +18,8 @@ 17 git_info git.properties + 10.230.238.56:5000 + @@ -164,6 +166,65 @@ + + io.fabric8 + docker-maven-plugin + 0.45.0 + + + Build and deploy docker container + install + + build + push + + + + + + + ${project.artifactId}:${project.version} + ${registry.url} + + ${project.basedir}/Dockerfile + + + + + ${project.build.directory}/${project.build.finalName}.jar + . + + + ${project.basedir}/apm-agent/elastic-apm-agent-1.45.0.jar + . + + + ${project.basedir}/start-credit-tracker.sh + . + + + ${project.basedir}/credit-tracker.properties + . + + + ${project.basedir}/monitoring-request.xsd + . + + + ${project.basedir}/signal-package.xsd + . + + + + + + ${project.version} + + + + + + diff --git a/start-credit-tracker.sh b/start-credit-tracker.sh new file mode 100644 index 0000000..9f262d8 --- /dev/null +++ b/start-credit-tracker.sh @@ -0,0 +1,30 @@ +#!/bin/sh + +export APP_JMX_PORT="${JMX_PORT:-11001}" +export APP_JMX_HOSTNAME="${JMX_HOSTNAME:-localhost}" + +echo "Запуск Credit Tracker" +exec java \ + -Xmx8G \ + -Xms4G \ + -javaagent:/opt/app/elastic-apm-agent.jar \ + -XX:+UseZGC \ + -Delastic.apm.service_name="${APM_SERVICE_NAME}" \ + -Delastic.apm.server_urls="${APM_SERVER_URLS}" \ + -Delastic.apm.application_packages=ru.nbch \ + -Delastic.apm.environment="${APM_ENVIRONMENT}" \ + -Delastic.apm.service_node_name="${APM_SERVICE_NODE_NAME}" \ + -Delastic.apm.hostname="${APM_SERVICE_NODE_NAME}" \ + -Delastic.apm.service_version="${APM_SERVICE_VERSION}" \ + -Delastic.apm.enable_log_correlation=true \ + -Delastic.apm.stack_trace_limit=0 \ + -Delastic.apm.span_stack_trace_min_duration=-1ms \ + -Dlog4j2.formatMsgNoLookups=true \ + -Dcom.sun.management.jmxremote \ + -Dcom.sun.management.jmxremote.ssl=false \ + -Dcom.sun.management.jmxremote.authenticate=false \ + -Dcom.sun.management.jmxremote.local.only=false \ + -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