2026-06-27 17:38:08 +01:00
|
|
|
# Utilisation de l'image globale pour le build et l'exécution
|
2026-06-27 15:58:29 +01:00
|
|
|
FROM pazof/yavsc-build-env:debian12-dotnet10-android36-v1 AS build-env
|
2026-06-07 09:01:21 +01:00
|
|
|
WORKDIR /src
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 1. Copie de la solution
|
|
|
|
|
COPY *.sln ./
|
|
|
|
|
COPY Directory.*.props ./
|
|
|
|
|
|
|
|
|
|
# 2. Copie de l'intégralité des fichiers de projets (.csproj) pour la restauration
|
|
|
|
|
COPY src/Yavsc.Org/*.csproj ./src/Yavsc.Org/
|
|
|
|
|
COPY src/Yavsc.Abstract/*.csproj ./src/Yavsc.Abstract/
|
|
|
|
|
COPY src/Yavsc.Server/*.csproj ./src/Yavsc.Server/
|
|
|
|
|
COPY src/Yavsc.Api/*.csproj ./src/Yavsc.Api/
|
|
|
|
|
COPY src/Yavsc.Blogs/*.csproj ./src/Yavsc.Blogs/
|
|
|
|
|
COPY src/cli/*.csproj ./src/cli/
|
2026-06-19 23:12:17 +01:00
|
|
|
COPY src/Yavsc.Org.Tests/*.csproj ./src/Yavsc.Org.Tests/
|
2026-06-07 09:01:21 +01:00
|
|
|
|
|
|
|
|
# Projets associés à PostIt
|
|
|
|
|
COPY src/PostIt/PostIt/*.csproj ./src/PostIt/PostIt/
|
|
|
|
|
COPY src/PostIt/PostIt.Android/*.csproj ./src/PostIt/PostIt.Android/
|
|
|
|
|
COPY src/PostIt/PostIt.Browser/*.csproj ./src/PostIt/PostIt.Browser/
|
|
|
|
|
COPY src/PostIt/PostIt.Desktop/*.csproj ./src/PostIt/PostIt.Desktop/
|
|
|
|
|
|
|
|
|
|
# 4. Copie de l'intégralité du code source
|
|
|
|
|
COPY . .
|
|
|
|
|
|
|
|
|
|
# 4. Restauration des dépendances pour tous les projets
|
|
|
|
|
RUN dotnet restore
|
|
|
|
|
|
|
|
|
|
# 5. Copie de la totalité du code source (filtrée par votre .dockerignore)
|
|
|
|
|
COPY . .
|
|
|
|
|
|
|
|
|
|
# 6. Compilation du serveur Web principal
|
|
|
|
|
RUN dotnet build src/Yavsc.Org/Yavsc.Org.csproj -c Release --no-restore -clp:ErrorsOnly
|
|
|
|
|
|
2026-06-27 16:12:16 +01:00
|
|
|
# 7. Publication de l'artefact Yavsc.Org pour l'image runtime (Dockerfile.runtime).
|
|
|
|
|
# Copie depuis /app/publish/Yavsc.Org/ via --from=build-env. Les appsettings
|
|
|
|
|
# ne sont PAS publiés ici : fournis au runtime via BuildKit secret mount ou
|
|
|
|
|
# volume docker-compose.
|
|
|
|
|
RUN mkdir -p /app/publish
|
|
|
|
|
RUN dotnet publish src/Yavsc.Org/Yavsc.Org.csproj -c Release --no-build -o /app/publish/Yavsc.Org
|
|
|
|
|
|
2026-06-07 09:01:21 +01:00
|
|
|
# Définition du répertoire d'exécution par défaut
|
|
|
|
|
CMD ["bash"]
|