WIP: do more post build steps

This commit is contained in:
Nils Bergmann
2021-12-07 16:29:26 +01:00
parent 6f2e306c7e
commit 50221fbd65
4 changed files with 293 additions and 13 deletions

View File

@@ -1,12 +1,16 @@
FROM debian:11-slim
FROM debian:11-slim as build
WORKDIR /build
RUN --mount=type=cache,target=/var/cache/apt \
echo "Install build dependencies" && \
apt update && \
apt install gcc cmake zlib1g-dev make build-essential g++ mariadb-client git python3 -yqq --no-install-recommends && \
rm -rf /var/lib/apt/lists/*
apt install gcc cmake zlib1g-dev make build-essential g++ unzip ca-certificates wget -yqq --no-install-recommends && \
rm -rf /var/lib/apt/lists/* && \
update-ca-certificates && \
wget https://dev.mysql.com/get/Downloads/Connector-C++/libmysqlcppconn9_8.0.27-1debian11_amd64.deb -O /tmp/libmysqlcppconn.deb && \
dpkg -i /tmp/libmysqlcppconn.deb && \
rm /tmp/libmysqlcppconn.deb
COPY dAuthServer/ /build/dAuthServer
COPY dChatServer/ /build/dChatServer
@@ -27,18 +31,35 @@ COPY vanity /build/vanity
COPY .clang-* CMake* LICENSE /build/
ARG BUILD_THREADS=1
ARG BUILD_VERSION=171022
RUN echo "Build server" && \
mkdir -p build && \
cd build && \
ls -lah && ls -lah ../ && cmake .. && \
make -j $BUILD_THREADS && \
mkdir -p /app && \
cp -R ./* /app && \
rm -rf /build
sed -i -e "s/171023/${BUILD_VERSION}/g" ../CMakeVariables.txt && \
cmake .. && \
make -j $BUILD_THREADS
RUN mkdir -p /build/build/res/maps/navmeshes/ && \
unzip /build/resources/navmeshes.zip -d /build/build/res/maps
FROM debian:11-slim as runtime
WORKDIR /app
COPY --from=build /build/build /app
COPY --from=build /build/migrations /app/migrations
RUN --mount=type=cache,target=/var/cache/apt \
apt update && \
apt install mariadb-client python3 sqlite3 ca-certificates wget -yqq --no-install-recommends && \
rm -rf /var/lib/apt/lists/* && \
update-ca-certificates && \
wget https://dev.mysql.com/get/Downloads/Connector-C++/libmysqlcppconn9_8.0.27-1debian11_amd64.deb -O /tmp/libmysqlcppconn.deb && \
dpkg -i /tmp/libmysqlcppconn.deb && \
rm /tmp/libmysqlcppconn.deb
ADD docker/*.py /app/utils/
COPY docker/start_server.sh /start_server.sh