...docker test
This commit is contained in:
@@ -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"]
|
||||
Reference in New Issue
Block a user