From d9ab654abe6a6790ecb946894dac0c4fc863227b Mon Sep 17 00:00:00 2001 From: Andrew Rabert Date: Sat, 16 Feb 2019 01:37:55 -0500 Subject: [PATCH] Enhance Dockerfiles * Prevent failure when obj exists from host compile * Enhance readability of disposed stages * Formatting --- Dockerfile | 5 ++--- Dockerfile.arm | 21 ++++++++++++--------- Dockerfile.arm64 | 13 ++++++++----- 3 files changed, 22 insertions(+), 17 deletions(-) diff --git a/Dockerfile b/Dockerfile index 266b59f1c..67505a57d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,9 +3,8 @@ ARG DOTNET_VERSION=2 FROM microsoft/dotnet:${DOTNET_VERSION}-sdk as builder WORKDIR /repo COPY . . -RUN export DOTNET_CLI_TELEMETRY_OPTOUT=1 \ - && dotnet clean \ - && dotnet publish \ +ENV DOTNET_CLI_TELEMETRY_OPTOUT=1 +RUN dotnet publish \ --configuration release \ --output /jellyfin \ Jellyfin.Server diff --git a/Dockerfile.arm b/Dockerfile.arm index 0dc37a644..802f45ff2 100644 --- a/Dockerfile.arm +++ b/Dockerfile.arm @@ -1,20 +1,23 @@ -# Requires binfm_misc registration for arm -# https://github.com/multiarch/qemu-user-static#binfmt_misc-register +# Requires binfm_misc registration +# https://github.com/multiarch/qemu-user-static#binfmt_misc-register ARG DOTNET_VERSION=3.0 -FROM multiarch/qemu-user-static:x86_64-arm as qemu -FROM alpine as qemu_extract -COPY --from=qemu /usr/bin qemu-arm-static.tar.gz +FROM multiarch/qemu-user-static:x86_64-arm as qemu +FROM alpine as qemu_extract +COPY --from=qemu /usr/bin qemu-arm-static.tar.gz RUN tar -xzvf qemu-arm-static.tar.gz FROM microsoft/dotnet:${DOTNET_VERSION}-sdk-stretch as builder WORKDIR /repo COPY . . -#TODO Remove or update the sed line when we update dotnet version. -RUN export DOTNET_CLI_TELEMETRY_OPTOUT=1 \ - && find . -type f -exec sed -i 's/netcoreapp2.1/netcoreapp3.0/g' {} \; \ - && dotnet publish \ +ENV DOTNET_CLI_TELEMETRY_OPTOUT=1 +# TODO Remove or update the sed line when we update dotnet version. +RUN find . -type f -exec sed -i 's/netcoreapp2.1/netcoreapp3.0/g' {} \; +# Discard objs - may cause failures if exists +RUN find . -type d -name obj | xargs -r rm -r +# Build +RUN dotnet publish \ -r linux-arm \ --configuration release \ --output /jellyfin \ diff --git a/Dockerfile.arm64 b/Dockerfile.arm64 index ec42610c0..3175c950c 100644 --- a/Dockerfile.arm64 +++ b/Dockerfile.arm64 @@ -1,4 +1,4 @@ -# Requires binfm_misc registration for aarch64 +# Requires binfm_misc registration # https://github.com/multiarch/qemu-user-static#binfmt_misc-register ARG DOTNET_VERSION=3.0 @@ -12,10 +12,13 @@ RUN tar -xzvf qemu-aarch64-static.tar.gz FROM microsoft/dotnet:${DOTNET_VERSION}-sdk-stretch as builder WORKDIR /repo COPY . . -#TODO Remove or update the sed line when we update dotnet version. -RUN export DOTNET_CLI_TELEMETRY_OPTOUT=1 \ - && find . -type f -exec sed -i 's/netcoreapp2.1/netcoreapp3.0/g' {} \; \ - && dotnet publish \ +ENV DOTNET_CLI_TELEMETRY_OPTOUT=1 +# TODO Remove or update the sed line when we update dotnet version. +RUN find . -type f -exec sed -i 's/netcoreapp2.1/netcoreapp3.0/g' {} \; +# Discard objs - may cause failures if exists +RUN find . -type d -name obj | xargs -r rm -r +# Build +RUN dotnet publish \ -r linux-arm64 \ --configuration release \ --output /jellyfin \