Skip to content

Commit d7ee1b0

Browse files
authored
perf: optimize Docker build caching (#116)
1 parent bf2ebef commit d7ee1b0

3 files changed

Lines changed: 14 additions & 18 deletions

File tree

‎.dockerignore‎

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
**/.env
44
**/.git
55
**/.gitignore
6+
**/.github
7+
**/.opencode
68
**/.project
79
**/.settings
810
**/.toolstarget
@@ -23,10 +25,9 @@
2325
**/values.dev.yaml
2426
LICENSE
2527
README.md
28+
SgfDevs.Tests
29+
SgfDevs.slnx
2630
SgfDevs/Umbraco/Logs
2731
SgfDevs/Umbraco/Data
28-
!**/.gitignore
29-
!.git/HEAD
30-
!.git/config
31-
!.git/packed-refs
32-
!.git/refs/heads/**
32+
caddy
33+
scripts

‎.github/workflows/docker-publish.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ jobs:
5555
labels: |
5656
org.opencontainers.image.source=${{ github.server_url }}/${{ github.repository }}
5757
org.opencontainers.image.revision=${{ github.sha }}
58-
cache-from: type=gha,scope=${{ matrix.platform }}
59-
cache-to: type=gha,mode=max,scope=${{ matrix.platform }}
58+
cache-from: type=registry,ref=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
59+
cache-to: type=inline
6060
platforms: ${{ matrix.platform }}
6161
provenance: false
6262

‎Dockerfile‎

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,17 @@
11
FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS base
2-
RUN mkdir -p /usr/src/main
32
WORKDIR /usr/src/main
43
EXPOSE 80
54

6-
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
7-
RUN mkdir -p /src
5+
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS publish
86
WORKDIR /src
9-
COPY "./SgfDevs/SgfDevs.csproj" "./SgfDevs/SgfDevs.csproj"
10-
RUN dotnet restore "./SgfDevs/SgfDevs.csproj"
11-
COPY . .
12-
RUN dotnet build "./SgfDevs/SgfDevs.csproj" -c Release -o /usr/src/main/build
13-
14-
FROM build AS publish
15-
RUN dotnet publish "./SgfDevs/SgfDevs.csproj" -c Release -o /usr/src/main/publish
7+
COPY SgfDevs/SgfDevs.csproj SgfDevs/
8+
RUN dotnet restore SgfDevs/SgfDevs.csproj
9+
COPY SgfDevs/ SgfDevs/
10+
RUN dotnet publish SgfDevs/SgfDevs.csproj -c Release --no-restore -o /app/publish
1611

1712
FROM base AS final
1813
ENV ASPNETCORE_HTTP_PORTS=80
1914
WORKDIR /usr/src/main
20-
COPY --from=publish /usr/src/main/publish .
15+
COPY --from=publish /app/publish .
2116
RUN mkdir -p umbraco/Data && touch umbraco/Data/Umbraco.sqlite.db
2217
ENTRYPOINT ["dotnet", "SgfDevs.dll"]

0 commit comments

Comments
 (0)