FROM microsoft/dotnet:2.2-aspnetcore-runtime AS base
WORKDIR /app
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
EXPOSE 80
EXPOSE 443

RUN apt-get update
RUN apt-get install -y --no-install-recommends libgdiplus libc6-dev 

FROM microsoft/dotnet:2.2-sdk-alpine AS build
WORKDIR /src
COPY ["SalaryAutoServices/SalaryAutoServices.csproj", "SalaryAutoServices/"]
COPY ["SalaryAIServices/SalaryAIServices.csproj", "SalaryAIServices/"]
COPY ["DapperDao/DapperDao.csproj", "DapperDao/"]
COPY ["Utility/Utility.csproj", "Utility/"]
COPY ["EFCore/EFCore.csproj", "EFCore/"]
COPY ["CommonServics/CommonServics.csproj", "CommonServics/"]
RUN dotnet restore "SalaryAutoServices/SalaryAutoServices.csproj"
COPY . .
WORKDIR "/src/SalaryAutoServices"
RUN dotnet build "SalaryAutoServices.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "SalaryAutoServices.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY fonts/simkai.ttf .
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "SalaryAutoServices.dll"]