Use .NET SCD (self contained deployment)
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Simon Bruder 2019-12-01 09:51:27 +00:00
parent 655a15577a
commit 24fd6a9cfd
No known key found for this signature in database
GPG key ID: 6F03E0000CC5B62F

View file

@ -1,25 +1,23 @@
FROM debian:testing-slim as base
FROM debian:testing-slim as builder
ENV DOTNET_CLI_TELEMETRY_OPTOUT 1
RUN apt-get update \
&& apt-get -y install \
git \
gnupg2 \
wget \
git \
&& wget -qO- https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \
&& wget -qO /etc/apt/sources.list.d/microsoft.list https://packages.microsoft.com/config/debian/10/prod.list \
&& apt-get -y purge \
gnupg2 \
wget \
&& apt-get update \
&& apt-get -y install \
dotnet-sdk-3.0 \
&& apt-get -y autoremove --purge \
&& rm -rf /var/lib/apt/lists/*
FROM base as builder
RUN apt-get update \
&& apt-get -y install dotnet-sdk-3.0
ARG CACHEBUST=1
ARG GIT_COMMIT=master
ARG CONFIGURATION=Release
@ -27,14 +25,13 @@ ARG CONFIGURATION=Release
RUN git clone --depth=50 https://github.com/ppy/osu \
&& cd osu \
&& git checkout ${GIT_COMMIT} \
&& dotnet build -c ${CONFIGURATION} osu.Desktop \
&& dotnet publish -c ${CONFIGURATION} -r linux-x64 -o /opt/osu/ osu.Desktop
&& dotnet publish -c ${CONFIGURATION} -r linux-x64 --self-contained true -o /opt/osu/ osu.Desktop
FROM base
FROM debian:testing-slim
RUN apt-get update \
&& apt-get -y install --no-install-recommends \
dotnet-runtime-3.0 \
ca-certificates \
ffmpeg \
libgl1 \
pulseaudio \
@ -47,4 +44,4 @@ COPY --from=builder /opt/osu/ /opt/osu/
RUN adduser --disabled-password --gecos '' osu
USER osu
ENTRYPOINT ["dotnet", "/opt/osu/osu!.dll"]
ENTRYPOINT ["/opt/osu/osu!"]