mirror of
https://github.com/VinylDNS/vinyldns
synced 2025-08-22 02:02:14 +00:00
- Tweak JVM memory parameters for build - Add GitHub action for releasing vNext docker images - Upgrade jQuery to 3.5.1 due to SECVULN - Update Java in all containers to v11 (LTS)
39 lines
1.6 KiB
Docker
39 lines
1.6 KiB
Docker
# Build VinylDNS API if the JAR doesn't already exist
|
|
FROM vinyldns/build:base-build as base-build
|
|
COPY . /build/
|
|
WORKDIR /build
|
|
|
|
## Run the build if we don't already have a vinyldns-api.jar
|
|
RUN mkdir -p /opt/vinyldns/conf && \
|
|
if [ -f artifacts/vinyldns-api.jar ]; then cp artifacts/vinyldns-api.jar /opt/vinyldns/; fi && \
|
|
if [ ! -f /opt/vinyldns/vinyldns-api.jar ]; then \
|
|
env SBT_OPTS="-Xmx2G -Xms512M -Xss2M -XX:MaxMetaspaceSize=2G" \
|
|
sbt -Dbuild.scalafmtOnCompile=false -Dbuild.lintOnCompile=fase ";project api;coverageOff;assembly" \
|
|
&& cp artifacts/vinyldns-api.jar /opt/vinyldns/; \
|
|
fi
|
|
|
|
FROM openjdk:11-slim
|
|
ARG DOCKER_FILE_PATH
|
|
ARG VINYLDNS_VERSION
|
|
|
|
RUN test -n "VINYLDNS_VERSION" || (echo "VINYLDNS_VERSION not set" && false) && \
|
|
test -n "DOCKER_FILE_PATH" || (echo "DOCKER_FILE_PATH not set" && false) && \
|
|
mkdir -p /opt/vinyldns/lib_extra && \
|
|
echo "${VINYLDNS_VERSION}" > /opt/vinyldns/version
|
|
|
|
COPY --from=base-build /opt/vinyldns /opt/vinyldns
|
|
COPY ${DOCKER_FILE_PATH}/application.conf /opt/vinyldns/conf
|
|
COPY ${DOCKER_FILE_PATH}/logback.xml /opt/vinyldns/conf
|
|
|
|
# Mount the volume for config file and lib extras
|
|
VOLUME ["/opt/vinyldns/lib_extra/", "/opt/vinyldns/conf/"]
|
|
|
|
EXPOSE 9000
|
|
|
|
ENV JVM_OPTS=""
|
|
ENTRYPOINT ["/bin/bash", "-c", "java ${JVM_OPTS} -Dconfig.file=/opt/vinyldns/conf/application.conf \
|
|
-Dlogback.configurationFile=/opt/vinyldns/conf/logback.xml \
|
|
-Dvinyldns.version=$(cat /opt/vinyldns/version) \
|
|
-cp /opt/vinyldns/lib_extra/* \
|
|
-jar /opt/vinyldns/vinyldns-api.jar" ]
|