From ece877e5678ff6ac8cd42daa1bae9062f46e2145 Mon Sep 17 00:00:00 2001 From: "Collin M. Barrett" Date: Mon, 7 Sep 2020 17:30:51 -0500 Subject: [PATCH] =?UTF-8?q?refactor(directory):=20=E2=99=BB=E2=9A=A1=20ext?= =?UTF-8?q?ract=20separate=20migrate=20dockerfile=20for=20perf?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose.directory.migrations.tests.yml | 4 +-- .../src/FilterLists.Directory.Api/Dockerfile | 13 ---------- .../Dockerfile.migrate | 25 +++++++++++++++++++ 3 files changed, 27 insertions(+), 15 deletions(-) create mode 100644 services/directory/src/FilterLists.Directory.Api/Dockerfile.migrate diff --git a/docker-compose.directory.migrations.tests.yml b/docker-compose.directory.migrations.tests.yml index a0e7769c8..68381fe79 100644 --- a/docker-compose.directory.migrations.tests.yml +++ b/docker-compose.directory.migrations.tests.yml @@ -4,10 +4,10 @@ services: directory-migrations-tests: build: context: ./services - dockerfile: directory/src/FilterLists.Directory.Api/Dockerfile + dockerfile: directory/src/FilterLists.Directory.Api/Dockerfile.migrate target: test-migrations volumes: - - directory-migrations-tests-results:/app/tests/FilterLists.Infrastructure.Migrations.Tests/TestResults + - directory-migrations-tests-results:/app/tests/FilterLists.Directory.Infrastructure.Migrations.Tests/TestResults depends_on: - directory-db diff --git a/services/directory/src/FilterLists.Directory.Api/Dockerfile b/services/directory/src/FilterLists.Directory.Api/Dockerfile index 92a6408af..22129f997 100644 --- a/services/directory/src/FilterLists.Directory.Api/Dockerfile +++ b/services/directory/src/FilterLists.Directory.Api/Dockerfile @@ -26,19 +26,6 @@ WORKDIR /src/FilterLists.Directory.Api COPY directory/src/FilterLists.Directory.Api/. . RUN dotnet publish -c Release --no-restore -o /app/publish -p:PublishReadyToRun=true -p:PublishSingleFile=true -p:PublishTrimmed=true -r linux-musl-x64 -# init Infrastructure.Migrations.Tests -FROM build AS test-migrations -ENTRYPOINT ["dotnet", "test", "--logger:trx"] - -# restore Infrastructure.Migrations.Tests -WORKDIR /tests/FilterLists.Directory.Infrastructure.Migrations.Tests -COPY directory/tests/FilterLists.Directory.Infrastructure.Migrations.Tests/FilterLists.Directory.Infrastructure.Migrations.Tests.csproj . -RUN dotnet restore - -# build Infrastructure.Migrations.Tests -COPY directory/tests/FilterLists.Directory.Infrastructure.Migrations.Tests/. . -RUN dotnet build -c Release --no-restore -r linux-musl-x64 - # package final FROM base AS final COPY --from=build /app/publish . diff --git a/services/directory/src/FilterLists.Directory.Api/Dockerfile.migrate b/services/directory/src/FilterLists.Directory.Api/Dockerfile.migrate new file mode 100644 index 000000000..05d6b75f8 --- /dev/null +++ b/services/directory/src/FilterLists.Directory.Api/Dockerfile.migrate @@ -0,0 +1,25 @@ +# init test-migrations +FROM mcr.microsoft.com/dotnet/core/sdk:3.1-alpine AS test-migrations +ENTRYPOINT ["dotnet", "test", "--logger:trx"] + +# restore +WORKDIR /src +COPY directory/src/FilterLists.Directory.Domain/FilterLists.Directory.Domain.csproj FilterLists.Directory.Domain/ +COPY directory/src/FilterLists.Directory.Infrastructure/FilterLists.Directory.Infrastructure.csproj FilterLists.Directory.Infrastructure/ +COPY directory/src/FilterLists.Directory.Infrastructure.Migrations/FilterLists.Directory.Infrastructure.Migrations.csproj FilterLists.Directory.Infrastructure.Migrations/ +COPY directory/src/FilterLists.Directory.Application/FilterLists.Directory.Application.csproj FilterLists.Directory.Application/ +COPY directory/src/FilterLists.Directory.Api/FilterLists.Directory.Api.csproj FilterLists.Directory.Api/ +WORKDIR /tests/FilterLists.Directory.Infrastructure.Migrations.Tests +COPY directory/tests/FilterLists.Directory.Infrastructure.Migrations.Tests/FilterLists.Directory.Infrastructure.Migrations.Tests.csproj . +RUN dotnet restore + +# build +WORKDIR /src +COPY directory/src/FilterLists.Directory.Domain/. FilterLists.Directory.Domain/ +COPY directory/src/FilterLists.Directory.Infrastructure/. FilterLists.Directory.Infrastructure/ +COPY directory/src/FilterLists.Directory.Infrastructure.Migrations/. FilterLists.Directory.Infrastructure.Migrations/ +COPY directory/src/FilterLists.Directory.Application/. FilterLists.Directory.Application/ +COPY directory/src/FilterLists.Directory.Api/. FilterLists.Directory.Api/ +WORKDIR /tests/FilterLists.Directory.Infrastructure.Migrations.Tests +COPY directory/tests/FilterLists.Directory.Infrastructure.Migrations.Tests/. . +RUN dotnet build -c Release --no-restore -r linux-musl-x64 \ No newline at end of file