Skip to content

Commit 3f66149

Browse files
committed
Add Dockerfile for .NET 10.0 application setup and build process
1 parent 0324b42 commit 3f66149

File tree

3 files changed

+50
-37
lines changed

3 files changed

+50
-37
lines changed
Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,31 @@
11

22
Microsoft Visual Studio Solution File, Format Version 12.00
3-
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{533118EF-BFBC-4140-83E1-A7F0701D92E2}"
3+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "backend\src", "{533118EF-BFBC-4140-83E1-A7F0701D92E2}"
4+
ProjectSection(SolutionItems) = preProject
5+
backend\src\Dockerfile = backend\src\Dockerfile
6+
EndProjectSection
47
EndProject
5-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "src/MessagingPlatform.Api", "src/MessagingPlatform.Api\MessagingPlatform.Api.csproj", "{871E8E55-1930-4200-814E-1ABCAD02953E}"
8+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MessagingPlatform.Api", "backend\src\MessagingPlatform.Api\MessagingPlatform.Api.csproj", "{871E8E55-1930-4200-814E-1ABCAD02953E}"
69
EndProject
7-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MessagingPlatform.Domain", "src\MessagingPlatform.Domain\MessagingPlatform.Domain.csproj", "{FA908482-1173-4A8D-9D2C-3E7BE57BF43A}"
10+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MessagingPlatform.Domain", "backend\src\MessagingPlatform.Domain\MessagingPlatform.Domain.csproj", "{FA908482-1173-4A8D-9D2C-3E7BE57BF43A}"
811
EndProject
9-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MessagingPlatform.Application", "src\MessagingPlatform.Application\MessagingPlatform.Application.csproj", "{414A56B7-0737-44FB-8BB6-5D063FBBC7AD}"
12+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MessagingPlatform.Application", "backend\src\MessagingPlatform.Application\MessagingPlatform.Application.csproj", "{414A56B7-0737-44FB-8BB6-5D063FBBC7AD}"
1013
EndProject
11-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MessagingPlatform.Infrastructure", "src\MessagingPlatform.Infrastructure\MessagingPlatform.Infrastructure.csproj", "{A56AE376-4622-45F6-85FC-3F8F1C3DCB92}"
14+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MessagingPlatform.Infrastructure", "backend\src\MessagingPlatform.Infrastructure\MessagingPlatform.Infrastructure.csproj", "{A56AE376-4622-45F6-85FC-3F8F1C3DCB92}"
1215
EndProject
13-
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{B514B680-BC2D-4147-8680-377A0DA089CF}"
16+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "backend\tests", "{B514B680-BC2D-4147-8680-377A0DA089CF}"
1417
EndProject
15-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MessagingPlatform.Domain.Tests", "tests\MessagingPlatform.Domain.Tests\MessagingPlatform.Domain.Tests.csproj", "{1B901EA5-06C3-45C5-B733-59399E4AB748}"
18+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MessagingPlatform.Domain.Tests", "backend\tests\MessagingPlatform.Domain.Tests\MessagingPlatform.Domain.Tests.csproj", "{1B901EA5-06C3-45C5-B733-59399E4AB748}"
1619
EndProject
17-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MessagingPlatform.Application.Tests", "tests\MessagingPlatform.Application.Tests\MessagingPlatform.Application.Tests.csproj", "{F56DB277-DFB7-4F57-9EDD-1E75E4177E65}"
20+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MessagingPlatform.Application.Tests", "backend\tests\MessagingPlatform.Application.Tests\MessagingPlatform.Application.Tests.csproj", "{F56DB277-DFB7-4F57-9EDD-1E75E4177E65}"
21+
EndProject
22+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "items", "items", "{BD76CE15-C0A1-4420-B079-91F5D2CE8077}"
23+
ProjectSection(SolutionItems) = preProject
24+
docker-compose.yml = docker-compose.yml
25+
.github\workflows\backend.yml = .github\workflows\backend.yml
26+
.github\workflows\compose-build.yml = .github\workflows\compose-build.yml
27+
.github\workflows\web.yml = .github\workflows\web.yml
28+
EndProjectSection
1829
EndProject
1930
Global
2031
GlobalSection(SolutionConfigurationPlatforms) = preSolution

backend/Dockerfile

Lines changed: 0 additions & 29 deletions
This file was deleted.

backend/src/Dockerfile

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS base
2+
WORKDIR /app
3+
EXPOSE 9000
4+
5+
RUN apt-get update && apt-get install -y curl && apt-get clean
6+
7+
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
8+
9+
WORKDIR /src
10+
11+
COPY MessagingPlatform.Api/MessagingPlatform.Api.csproj MessagingPlatform.Api/
12+
COPY MessagingPlatform.Application/MessagingPlatform.Application.csproj MessagingPlatform.Application/
13+
COPY MessagingPlatform.Domain/MessagingPlatform.Domain.csproj MessagingPlatform.Domain/
14+
COPY MessagingPlatform.Infrastructure/MessagingPlatform.Infrastructure.csproj MessagingPlatform.Infrastructure/
15+
16+
RUN dotnet restore MessagingPlatform.Api/MessagingPlatform.Api.csproj
17+
18+
COPY . .
19+
20+
WORKDIR /src/MessagingPlatform.Api
21+
22+
RUN dotnet build MessagingPlatform.Api.csproj -c Release -o /app/build
23+
24+
FROM build AS publish
25+
RUN dotnet publish MessagingPlatform.Api.csproj -c Release -o /app/publish
26+
27+
FROM base AS final
28+
WORKDIR /app
29+
COPY --from=publish /app/publish .
30+
31+
ENTRYPOINT ["dotnet", "MessagingPlatform.Api.dll"]

0 commit comments

Comments
 (0)