Files
myAi/web/Dockerfile
claude bb37314f31
Build and Push Docker Images / build (push) Successful in 35s
Build and Push Docker Images / smoke (push) Successful in 0s
chore: drop the throwaway comment used to force a rebuild
It existed only to make the image content differ so a deploy could be
timed. A note about a one-off measurement does not belong in a build file.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WpTYCBLH58XzrM7n3xPJ5N
2026-08-24 11:31:23 +00:00

28 lines
1.0 KiB
Docker

FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
ARG BUILD_CONFIGURATION=Release
WORKDIR /src
COPY Directory.Packages.props ./
COPY web/web.csproj web/
RUN dotnet restore web/web.csproj
# Copy only the web project files to avoid bringing other projects into the build context
COPY web/ web/
RUN dotnet publish web/web.csproj -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false
FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS final
WORKDIR /app
EXPOSE 8080
ENV ASPNETCORE_URLS=http://0.0.0.0:8080
COPY --from=build /app/publish .
# Stamp the commit into the image so a deploy can be verified from the outside.
#
# Without this a smoke test can only ask "does the site return 200?" -- which it did
# throughout the month production was quietly serving staging images. A status check
# cannot tell one build from another; /version.json can, so the smoke job refuses to
# pass until the host is actually serving THIS commit.
ARG GIT_SHA=unknown
RUN mkdir -p wwwroot && printf '{"version":"%s"}' "$GIT_SHA" > wwwroot/version.json
ENTRYPOINT ["dotnet", "web.dll"]