41 lines
936 B
Docker
41 lines
936 B
Docker
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
|
|
|
|
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
|
|
RUN chmod +x /usr/local/bin/entrypoint.sh
|
|
|
|
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","--","/usr/local/bin/entrypoint.sh"]
|
|
CMD ["/bin/bash","-lc","bash"]
|