From affc95d6240fc5b7239e77046bc968d707843fb6 Mon Sep 17 00:00:00 2001 From: Ivan Nikolaev-Axenov Date: Mon, 1 Jun 2026 18:24:27 +0300 Subject: [PATCH] .gitlab-ci.yml and Dockerfile added --- .gitlab-ci.yml | 33 +++++++++++++++++++++++++++++++++ Dockerfile | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 .gitlab-ci.yml create mode 100644 Dockerfile diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..91f1f2f --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,33 @@ +image: + name: maven:3-eclipse-temurin-21-alpine + pull_policy: if-not-present + +stages: + - build + - test + - publish + +build: + stage: build + script: + - mvn clean compile -Dmaven.test.skip=true + resource_group: indic-search-service-test + +test: + stage: test + script: + - mvn clean prepare-package + artifacts: + name: "$CI_COMMIT_REF_NAME" + expire_in: 1 day + paths: + - target/site + - target/jacoco.exec + resource_group: indic-search-service-test + +publish: + stage: publish + when: manual + script: + - mvn -P with-docker-registry clean install -Dmaven.test.skip=true + resource_group: indic-search-service-test \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..5bb49b1 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,36 @@ +FROM eclipse-temurin:21-jre-alpine + +ENV TZ="Europe/Moscow" + +USER root + +WORKDIR /opt/app +COPY maven/elastic-apm-agent-1.50.0.jar elastic-apm-agent.jar +COPY maven/indic-search-service*.jar indic-search-service.jar +COPY maven/application.properties application.properties + +CMD java \ + -javaagent:/opt/app/elastic-apm-agent.jar \ + -Xmx${XMX_MB}m \ + -XX:+UseZGC \ + -XX:+ZGenerational \ + -Dcom.sun.management.jmxremote=true \ + -Dcom.sun.management.jmxremote.port=1234 \ + -Dcom.sun.management.jmxremote.authenticate=false \ + -Dcom.sun.management.jmxremote.ssl=false \ + -Dnode_routing_suffix=${JVM_ROUTE} \ + -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 \ + -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5555 \ + ${JAVA_OPTS} \ + -jar indic-search-service.jar \ + --spring.config.location=application.properties \ No newline at end of file