...docker test

This commit is contained in:
2026-06-18 18:35:56 -04:00
parent 5e1fe81473
commit 6a2a8abb22
31 changed files with 958 additions and 11 deletions
+37
View File
@@ -0,0 +1,37 @@
FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build
ARG TELERIK_LICENSE
ARG TELERIK_USERNAME
ARG TELERIK_PASSWORD
ENV TELERIK_LICENSE=$TELERIK_LICENSE
ENV TELERIK_USERNAME=$TELERIK_USERNAME
ENV TELERIK_PASSWORD=$TELERIK_PASSWORD
WORKDIR /src
# Copy the entire parent directory into the build context
# We expect Chrono and chrono.docs to be siblings
COPY Chrono/ Chrono/
COPY chrono.docs/ chrono.docs/
WORKDIR /src/Chrono
# Ensure Telerik credentials are set and not placeholders
RUN if [ -z "$TELERIK_USERNAME" ] || [ "$TELERIK_USERNAME" = "your_telerik_username_or_api-key" ]; then \
echo "ERROR: TELERIK_USERNAME is not set in the build environment."; \
exit 1; \
fi
# Inject credentials into nuget.config to ensure they are available for restore
RUN dotnet nuget update source TelerikServer \
--username "$TELERIK_USERNAME" \
--password "$TELERIK_PASSWORD" \
--store-password-in-clear-text \
--configfile nuget.config
RUN dotnet restore "Chrono.sln" --configfile nuget.config
RUN dotnet publish "Server/Server.csproj" -c Release -o /app/publish /p:TelerikLicense="$TELERIK_LICENSE"
FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS final
WORKDIR /app
COPY --from=build /app/publish .
EXPOSE 8080
ENV ASPNETCORE_URLS=http://+:8080
ENTRYPOINT ["dotnet", "Server.dll"]