FROM swr.cn-north-4.myhuaweicloud.com/ddn-k8s/mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /src

COPY IM_API_NEW.sln ./

COPY User.WebApi/IdentityService.WebApi.csproj User.WebApi/
COPY User.Domain/IdentityService.Domain.csproj User.Domain/
COPY User.Infrastructure/IdentityService.Infrastructure.csproj User.Infrastructure/
COPY DomainCommons/IM.DomainCommons.csproj DomainCommons/
COPY Infrastructure/IM.Infrastructure.csproj Infrastructure/
COPY IM.ASPNETCore/IM.ASPNETCore.csproj IM.ASPNETCore/
COPY IM.Commons/IM.Commons.csproj IM.Commons/
COPY IM.InitCommon/IM.InitCommon.csproj IM.InitCommon/
COPY IM.Jwt/IM.Jwt.csproj IM.Jwt/
COPY IM.Protocols/IM.Protocols.csproj IM.Protocols/

RUN dotnet restore User.WebApi/IdentityService.WebApi.csproj

COPY . .

RUN dotnet publish User.WebApi/IdentityService.WebApi.csproj \
    -c Release \
    -o /app/publish \
    --no-restore

FROM swr.cn-north-4.myhuaweicloud.com/ddn-k8s/mcr.microsoft.com/dotnet/aspnet:8.0 AS runtime
WORKDIR /app

ENV ASPNETCORE_ENVIRONMENT=Production
ENV ASPNETCORE_URLS=http://+:8080

EXPOSE 8080

COPY --from=build /app/publish .

ENTRYPOINT ["dotnet", "IdentityService.WebApi.dll"]