diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml index d9ec1ea..99779b3 100644 --- a/.github/workflows/dotnet.yml +++ b/.github/workflows/dotnet.yml @@ -57,7 +57,7 @@ jobs: - name: Build and push uses: docker/build-push-action@v5 with: - # platforms: linux/amd64,linux/arm64 + platforms: linux/amd64,linux/arm64 push: true tags: | ${{ env.DOCKER_IMAGE }}:latest diff --git a/Dockerfile b/Dockerfile index 0704fd1..7391464 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,16 +1,18 @@ -FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build +FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:8.0 AS build +ARG TARGETARCH WORKDIR /app # copy csproj and restore as distinct layers COPY . . -RUN dotnet restore +RUN dotnet restore -a $TARGETARCH # copy everything else and build app COPY CleanArchitecture.Api/. ./CleanArchitecture.Api/ WORKDIR /app/CleanArchitecture.Api -RUN dotnet publish -c Release -o out +RUN dotnet publish -c Release -o out -a $TARGETARCH -FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS runtime +FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/aspnet:8.0 AS runtime +ARG TARGETARCH WORKDIR /app COPY --from=build /app/CleanArchitecture.Api/out ./