From 9ffde7bfa87a0c6b3a457467b2375be58aed38f4 Mon Sep 17 00:00:00 2001 From: Sebastiaan Dammann Date: Mon, 30 Mar 2020 21:36:15 +0200 Subject: [PATCH] Dockerfile: Use dockerignore for faster builds --- .dockerignore | 10 +++++++--- .gitattributes | 1 + Dockerfile | 4 ++-- build.cake | 2 +- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/.dockerignore b/.dockerignore index 3c79e7f..42757cd 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,3 +1,7 @@ -#* -!utils/ -!build/ \ No newline at end of file +.dotnet/ +.store/ +tools/ +build/ +src/**/obj/ +src/**/node_modules/ +tests/**/obj/ diff --git a/.gitattributes b/.gitattributes index 1ffc320..41a4ef9 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,4 +1,5 @@ *.sh text eol=lf +.dockerignore text eol=lf Dockerfile text eol=lf build.cake text eol=lf distscripts/* eol=lf \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 1aea435..ebebb60 100644 --- a/Dockerfile +++ b/Dockerfile @@ -47,7 +47,7 @@ RUN yarn --cwd src/PokerTime.Web/ # ... run publish COPY . . -RUN ./build.sh --target=Publish-Ubuntu-18.04-x64 --verbosity=verbose --skip-compression=true +RUN ./build.sh --target=Publish-Ubuntu-18.04-x64 --publish-dir=publish --verbosity=verbose --skip-compression=true ### RUNTIME IMAGE FROM mcr.microsoft.com/dotnet/core/runtime-deps:3.1 @@ -58,7 +58,7 @@ COPY utils/install-app-prereqs.sh utils/ RUN bash utils/install-app-prereqs.sh # ... Copy published app -COPY --from=build /source/build/publish/ubuntu.18.04-x64/ . +COPY --from=build /source/publish/ubuntu.18.04-x64/ . ENV ASPNETCORE_ENVIRONMENT Production diff --git a/build.cake b/build.cake index 15285ca..d4fe5f9 100644 --- a/build.cake +++ b/build.cake @@ -24,7 +24,7 @@ var baseName = "PokerTime"; var buildDir = Directory("./build"); var testResultsDir = buildDir + Directory("./testresults"); var testArtifactsDir = buildDir + Directory("./testresults/artifacts"); -var publishDir = Directory("./build/publish"); +var publishDir = Directory(Argument("publish-dir", "./build/publish")); var assemblyInfoFile = Directory($"./src/{baseName}/Properties") + File("AssemblyInfo.cs"); var nodeEnv = configuration == "Release" ? "production" : "development"; var persistenceProjectPath = Directory($"./src/{baseName}.Persistence");