-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile.Debug
More file actions
57 lines (49 loc) · 1.79 KB
/
Dockerfile.Debug
File metadata and controls
57 lines (49 loc) · 1.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# check=skip=CopyIgnoredFile
FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:10.0 AS build
WORKDIR /repo
COPY ["Directory.Build.props", "Directory.Packages.props", "appsettings.json", "./"]
ARG WORKLOAD=CasCap.App.Server
ARG CONFIGURATION=Debug
# Recreate the sibling directory structure expected by Debug project references.
# csproj files reference ../../../CasCap.Common/ and ../../../CasCap.Api.Azure/
# which from /repo/src/X/ resolves to /CasCap.Common/ and /CasCap.Api.Azure/.
COPY deps/CasCap.Common /CasCap.Common
COPY deps/CasCap.Api.Azure /CasCap.Api.Azure
COPY . .
RUN dotnet restore "src/$WORKLOAD/$WORKLOAD.csproj"
ARG TARGETPLATFORM
RUN if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \
RID=linux-x64 ; \
elif [ "$TARGETPLATFORM" = "linux/arm64" ]; then \
RID=linux-arm64 ; \
elif [ "$TARGETPLATFORM" = "linux/arm/v7" ]; then \
RID=linux-arm ; \
fi \
&& dotnet publish "src/$WORKLOAD/$WORKLOAD.csproj" -c $CONFIGURATION -o /app/publish -r $RID --self-contained false
#FROM mcr.microsoft.com/dotnet/aspnet:10.0-alpine AS final #missing tzdata?
#FROM mcr.microsoft.com/dotnet/aspnet:10.0-noble-chiseled AS final
FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS final
WORKDIR /app
COPY --from=build /app/publish .
COPY ["wait-for-it.sh", "ffmpeg-record.sh", "./"]
RUN apt-get update \
&& apt-get install -y curl libgpiod-dev
ARG GIT_REPOSITORY
ENV GIT_REPOSITORY=$GIT_REPOSITORY
ARG GIT_BRANCH
ENV GIT_BRANCH=$GIT_BRANCH
ARG GIT_COMMIT
ENV GIT_COMMIT=$GIT_COMMIT
ARG GIT_TAG
ENV GIT_TAG=$GIT_TAG
ARG GITHUB_WORKFLOW
ENV GITHUB_WORKFLOW=$GITHUB_WORKFLOW
ARG GITHUB_RUN_ID
ENV GITHUB_RUN_ID=$GITHUB_RUN_ID
ARG GITHUB_RUN_NUMBER
ENV GITHUB_RUN_NUMBER=$GITHUB_RUN_NUMBER
EXPOSE 8080
EXPOSE 8081
ARG WORKLOAD
ENV WORKLOAD=$WORKLOAD
ENTRYPOINT ["sh", "-c", "dotnet ${WORKLOAD}.dll"]