使用 dotnet/sdk:8.0,容器中的 dotnet 恢复需要花费太多时间(恢复项目需要 45 分钟)。 特别是在 Gitlab-ci 管道上。
在 dockerfile 中设置
ENV DOTNET_NUGET_SIGNATURE_VERIFICATION=false
。
类似这样的:
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /src
COPY MyMicroservice.csproj .
ENV DOTNET_NUGET_SIGNATURE_VERIFICATION=false
RUN dotnet restore
COPY . .
RUN dotnet publish -c release -o /app
FROM mcr.microsoft.com/dotnet/aspnet:8.0
WORKDIR /app
COPY --from=build /app .
ENTRYPOINT ["dotnet", "MyMicroservice.dll"]