FROM node:22-alpine3.20 AS node FROM alpine:3.20 RUN apk add --no-cache \ openjdk21-jdk \ maven \ git \ openssh-client \ bash \ curl \ ca-certificates \ tini \ libstdc++ \ libgcc COPY --from=node /usr/local /usr/local RUN npm config set fund false && npm config set audit false \ && npm i -g \ semantic-release \ @semantic-release/changelog \ @semantic-release/git \ @semantic-release/exec \ conventional-changelog-conventionalcommits RUN addgroup -S ci \ && adduser -S -G ci -h /home/ci -s /bin/bash ci \ && mkdir -p /workspace /home/ci/.m2 \ && chown -R ci:ci /workspace /home/ci ENV JAVA_HOME=/usr/lib/jvm/java-21-openjdk ENV MAVEN_CONFIG=/home/ci/.m2 WORKDIR /workspace USER ci ENTRYPOINT ["/sbin/tini","--"] CMD ["/bin/bash","-lc","bash"]