Dockerfile 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.
  2. #FROM mcr.microsoft.com/dotnet/core/runtime:3.1-buster-slim AS base
  3. FROM mcr.microsoft.com/dotnet/core/aspnet:3.1 AS base
  4. WORKDIR /app
  5. FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
  6. WORKDIR /src
  7. #COPY ["LiteFccCoreMain/LiteFccCoreMain.csproj", "LiteFccCoreMain/"]
  8. #COPY ["Devices/Pumps/HengShan_Pump_TQC_IFSF/HengShan_Pump_TQC_IFSF.csproj", "Devices/Pumps/HengShan_Pump_TQC_IFSF/"]
  9. #COPY ["Framework/Edge.Core/Edge.Core.csproj", "Framework/Edge.Core/"]
  10. #COPY ["Devices/Pumps/Wayne_Pump_Dart/Wayne_Pump_Dart.csproj", "Devices/Pumps/Wayne_Pump_Dart/"]
  11. #COPY ["Framework/Edge.WebHost/Edge.WebHost.csproj", "Framework/Edge.WebHost/"]
  12. #COPY ["Extension/Fdc/FdcServerHost/FdcServerHost.csproj", "Extension/Fdc/FdcServerHost/"]
  13. #COPY ["Extension/Fdc/FDCPOSInterfaceServer/FDCPOSInterfaceServer.csproj", "Extension/Fdc/FDCPOSInterfaceServer/"]
  14. #RUN dotnet restore "LiteFccCoreMain/LiteFccCoreMain.csproj"
  15. COPY ./ ./
  16. WORKDIR /src
  17. RUN dotnet restore LiteFccCore.sln
  18. COPY . .
  19. #RUN dotnet build "LiteFccCore.sln" -c Release -o /app/build
  20. # by reading a version file in source
  21. ARG VCS_REF_APP_VERSION_PREFIX
  22. # git hub action will assign a unique number, but here only use last 4 digits as limitation of .NET CORE
  23. ARG VCS_REF_GITHUB_RUN_ID_LAST_FOUR
  24. ARG Final_Assembly_VersionStr=${VCS_REF_APP_VERSION_PREFIX}\.${VCS_REF_GITHUB_RUN_ID_LAST_FOUR}
  25. FROM build AS publish
  26. RUN dotnet publish LiteFccCore.sln /p:AssemblyVersion=\"${Final_Assembly_VersionStr}\" /p:Version=\"${Final_Assembly_VersionStr}\" /p:FileVersion=\"${Final_Assembly_VersionStr}\" -c Release -o /app/publish
  27. FROM base AS final
  28. WORKDIR /app
  29. COPY --from=publish /app/publish .
  30. ARG VCS_REF_COMMIT_AUTHOR_NAME
  31. ARG VCS_REF_COMMIT_MSG
  32. ARG VCS_REF_COMMIT_SHA_SHORT
  33. ARG VCS_REF
  34. ARG VERSION
  35. ARG BUILD_DATE
  36. ARG VCS_REF_APP_VERSION_PREFIX
  37. ARG VCS_REF_GITHUB_RUN_ID_LAST_FOUR
  38. RUN echo VCS_REF_COMMIT_AUTHOR_NAME: ${VCS_REF_COMMIT_AUTHOR_NAME}
  39. RUN echo VCS_REF_COMMIT_MSG: ${VCS_REF_COMMIT_MSG}
  40. RUN echo VCS_REF_COMMIT_SHA_SHORT: ${VCS_REF_COMMIT_SHA_SHORT}
  41. RUN echo VCS_REF: ${VCS_REF}
  42. RUN echo VERSION: ${VERSION}
  43. RUN echo BUILD_DATE: ${BUILD_DATE}
  44. RUN echo VCS_REF_APP_VERSION_PREFIX: ${VCS_REF_APP_VERSION_PREFIX}
  45. RUN echo VCS_REF_GITHUB_RUN_ID_LAST_FOUR: ${VCS_REF_GITHUB_RUN_ID_LAST_FOUR}
  46. LABEL VCS_REF_COMMIT_AUTHOR_NAME=${VCS_REF_COMMIT_AUTHOR_NAME}
  47. LABEL VCS_REF_COMMIT_MSG=${VCS_REF_COMMIT_MSG}
  48. LABEL VCS_REF_COMMIT_SHA_SHORT=${VCS_REF_COMMIT_SHA_SHORT}
  49. LABEL VCS_REF=${VCS_REF}
  50. LABEL VERSION=${VERSION}
  51. LABEL BUILD_DATE=${BUILD_DATE}
  52. LABEL VCS_REF_GITHUB_RUN_ID_LAST_FOUR=${VCS_REF_GITHUB_RUN_ID_LAST_FOUR}
  53. LABEL VCS_REF_APP_VERSION_PREFIX=${VCS_REF_APP_VERSION_PREFIX}
  54. ENTRYPOINT ["dotnet", "LiteFccCore.dll"]