Use .NET SCD (self contained deployment)
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
655a15577a
commit
24fd6a9cfd
21
Dockerfile
21
Dockerfile
|
@ -1,25 +1,23 @@
|
||||||
FROM debian:testing-slim as base
|
FROM debian:testing-slim as builder
|
||||||
|
|
||||||
ENV DOTNET_CLI_TELEMETRY_OPTOUT 1
|
ENV DOTNET_CLI_TELEMETRY_OPTOUT 1
|
||||||
|
|
||||||
RUN apt-get update \
|
RUN apt-get update \
|
||||||
&& apt-get -y install \
|
&& apt-get -y install \
|
||||||
|
git \
|
||||||
gnupg2 \
|
gnupg2 \
|
||||||
wget \
|
wget \
|
||||||
git \
|
|
||||||
&& wget -qO- https://packages.microsoft.com/keys/microsoft.asc | apt-key add - \
|
&& 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 \
|
&& wget -qO /etc/apt/sources.list.d/microsoft.list https://packages.microsoft.com/config/debian/10/prod.list \
|
||||||
&& apt-get -y purge \
|
&& apt-get -y purge \
|
||||||
gnupg2 \
|
gnupg2 \
|
||||||
wget \
|
wget \
|
||||||
|
&& apt-get update \
|
||||||
|
&& apt-get -y install \
|
||||||
|
dotnet-sdk-3.0 \
|
||||||
&& apt-get -y autoremove --purge \
|
&& apt-get -y autoremove --purge \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& 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 CACHEBUST=1
|
||||||
ARG GIT_COMMIT=master
|
ARG GIT_COMMIT=master
|
||||||
ARG CONFIGURATION=Release
|
ARG CONFIGURATION=Release
|
||||||
|
@ -27,14 +25,13 @@ ARG CONFIGURATION=Release
|
||||||
RUN git clone --depth=50 https://github.com/ppy/osu \
|
RUN git clone --depth=50 https://github.com/ppy/osu \
|
||||||
&& cd osu \
|
&& cd osu \
|
||||||
&& git checkout ${GIT_COMMIT} \
|
&& git checkout ${GIT_COMMIT} \
|
||||||
&& dotnet build -c ${CONFIGURATION} osu.Desktop \
|
&& dotnet publish -c ${CONFIGURATION} -r linux-x64 --self-contained true -o /opt/osu/ osu.Desktop
|
||||||
&& dotnet publish -c ${CONFIGURATION} -r linux-x64 -o /opt/osu/ osu.Desktop
|
|
||||||
|
|
||||||
FROM base
|
FROM debian:testing-slim
|
||||||
|
|
||||||
RUN apt-get update \
|
RUN apt-get update \
|
||||||
&& apt-get -y install --no-install-recommends \
|
&& apt-get -y install --no-install-recommends \
|
||||||
dotnet-runtime-3.0 \
|
ca-certificates \
|
||||||
ffmpeg \
|
ffmpeg \
|
||||||
libgl1 \
|
libgl1 \
|
||||||
pulseaudio \
|
pulseaudio \
|
||||||
|
@ -47,4 +44,4 @@ COPY --from=builder /opt/osu/ /opt/osu/
|
||||||
RUN adduser --disabled-password --gecos '' osu
|
RUN adduser --disabled-password --gecos '' osu
|
||||||
USER osu
|
USER osu
|
||||||
|
|
||||||
ENTRYPOINT ["dotnet", "/opt/osu/osu!.dll"]
|
ENTRYPOINT ["/opt/osu/osu!"]
|
||||||
|
|
Loading…
Reference in a new issue