-
Notifications
You must be signed in to change notification settings - Fork 0
/
Dockerfile-api
51 lines (48 loc) · 1.85 KB
/
Dockerfile-api
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
FROM mcr.microsoft.com/dotnet/sdk:5.0.102-ca-patch-buster-slim as base
WORKDIR /app
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
procps \
&& rm -rf /var/lib/apt/lists/* \
&& curl -sSL https://aka.ms/getvsdbgsh \
| bash /dev/stdin -v latest -l /vsdbg
COPY etimo-id-api.sln Directory.Build.props ./
COPY src/Etimo.Id.Abstractions/*.csproj ./src/Etimo.Id.Abstractions/
COPY src/Etimo.Id.Api/*.csproj ./src/Etimo.Id.Api/
COPY src/Etimo.Id.Attributes/*.csproj ./src/Etimo.Id.Attributes/
COPY src/Etimo.Id.Authentication/*.csproj ./src/Etimo.Id.Authentication/
COPY src/Etimo.Id.Callback/*.csproj ./src/Etimo.Id.Callback/
COPY src/Etimo.Id.Client/*.csproj ./src/Etimo.Id.Client/
COPY src/Etimo.Id.Constants/*.csproj ./src/Etimo.Id.Constants/
COPY src/Etimo.Id.Data/*.csproj ./src/Etimo.Id.Data/
COPY src/Etimo.Id.Dtos/*.csproj ./src/Etimo.Id.Dtos/
COPY src/Etimo.Id.Entities/*.csproj ./src/Etimo.Id.Entities/
COPY src/Etimo.Id.Entities.Abstractions/*.csproj ./src/Etimo.Id.Entities.Abstractions/
COPY src/Etimo.Id.Exceptions/*.csproj ./src/Etimo.Id.Exceptions/
COPY src/Etimo.Id.Security/*.csproj ./src/Etimo.Id.Security/
COPY src/Etimo.Id.Service/*.csproj ./src/Etimo.Id.Service/
COPY src/Etimo.Id.Settings/*.csproj ./src/Etimo.Id.Settings/
COPY src/Etimo.Id.Tests/*.csproj ./src/Etimo.Id.Tests/
RUN dotnet restore
COPY . .
FROM base as dev
VOLUME /app/src
ENV DOTNET_USE_POLLING_FILE_WATCHER 1
CMD dotnet watch --project ./src/Etimo.Id.Api run --no-restore
FROM base as build
RUN dotnet build \
--configuration Release \
--no-restore \
--output ./out \
etimo-id-api.sln
RUN dotnet test \
--configuration Release \
--no-restore \
--no-build \
--output ./out \
etimo-id-api.sln
FROM mcr.microsoft.com/dotnet/aspnet:5.0 as prod
WORKDIR /app
COPY --from=build /app/out .
EXPOSE 443
CMD dotnet Etimo.Id.Api.dll