fix(build): pass git info via Docker build args (unblock main pipeline)

This commit is contained in:
Александр Зимин
2026-05-10 17:10:45 +00:00
parent 6a6441d169
commit d740092d0c
2 changed files with 26 additions and 1 deletions
+17 -1
View File
@@ -9,9 +9,25 @@
# .dockerignore исключает frontend (admin-ui), bench, docs, target/, .git/,
# IDE metadata — backend image остаётся компактным.
FROM repo.nstart.cloud/library/maven:3.9.9-eclipse-temurin-21 AS build
# Git info из CI environment (`.gitlab-ci.yml` `--build-arg`) — нужен для
# Spring Boot build-info goal через ordinis-app/pom.xml. Внутри Docker
# context .git/ исключён (.dockerignore), поэтому git-commit-id-maven-plugin
# не может прочитать локально. Defaults в pom.xml gracefully fallback'ят
# если ARG'и не переданы (local docker build без ENV).
ARG GIT_COMMIT=unknown
ARG GIT_BRANCH=unknown
# GIT_TAG defaults to "none" (не пусто): Maven property substitution трактует
# empty value как null → Spring Boot build-info goal валится с
# "Additional property 'tag' is illegal as its value is null".
ARG GIT_TAG=none
ARG GIT_TIME=unknown
WORKDIR /build
COPY . ./
RUN mvn -B -pl ordinis-app -am package -DskipTests
RUN mvn -B -pl ordinis-app -am package -DskipTests \
-Dgit.commit.id.abbrev="$GIT_COMMIT" \
-Dgit.branch="$GIT_BRANCH" \
-Dgit.tags="$GIT_TAG" \
-Dgit.commit.time="$GIT_TIME"
FROM repo.nstart.cloud/library/eclipse-temurin:21-jre
WORKDIR /app