deploiement 7
continuous-integration/drone/push Build was killed Details

pull/29/head
Maxime ROCHER 3 months ago
parent 37a0b06885
commit 0af5d95878

@ -25,7 +25,7 @@ steps:
- dotnet test WF-WebAdmin.csproj --no-restore - dotnet test WF-WebAdmin.csproj --no-restore
depends_on: [ build ] depends_on: [ build ]
# 3. CODE ANALYSIS (SONARQUBE) # 3. CODE ANALYSIS (SONARQUBE) - Exemple, si tu utilises Sonar
- name: code-analysis - name: code-analysis
image: hub.codefirst.iut.uca.fr/marc.chevaldonne/codefirst-dronesonarplugin-dotnet8 image: hub.codefirst.iut.uca.fr/marc.chevaldonne/codefirst-dronesonarplugin-dotnet8
commands: commands:
@ -46,7 +46,7 @@ steps:
coverage_exclusions: "Tests/**" coverage_exclusions: "Tests/**"
depends_on: [ tests ] depends_on: [ tests ]
# 4. GENERATION ET DEPLOIEMENT DE DOCS (OPTIONNEL) # 4. GÉNÉRATION ET DÉPLOIEMENT DE DOCS (optionnel)
- name: generate-and-deploy-docs - name: generate-and-deploy-docs
image: hub.codefirst.iut.uca.fr/thomas.bellembois/codefirst-docdeployer image: hub.codefirst.iut.uca.fr/thomas.bellembois/codefirst-docdeployer
failure: ignore failure: ignore
@ -60,7 +60,7 @@ steps:
- master - master
depends_on: [ build ] depends_on: [ build ]
# 5. CONSTRUCTION DE L'IMAGE DOCKER # 5. BUILD DE L'IMAGE DOCKER ET PUSH
- name: docker_build - name: docker_build
image: plugins/docker image: plugins/docker
settings: settings:
@ -75,9 +75,8 @@ steps:
from_secret: docker_password from_secret: docker_password
depends_on: [ build, tests, code-analysis ] depends_on: [ build, tests, code-analysis ]
# 6. DEPLOIEMENT # 6. DEPLOY
- name: deploy - name: deploy
# On réutilise l'image que l'on vient de builder et de pousser
image: hub.codefirst.iut.uca.fr/whatthefantasy/wf-webadmin:latest image: hub.codefirst.iut.uca.fr/whatthefantasy/wf-webadmin:latest
commands: commands:
- ls /app - ls /app

@ -1,29 +1,27 @@
# Étape 1 : Image de base ASP.NET pour le runtime # 1. Étape de build (SDK .NET 6)
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
# Étape 2 : Build de l'application
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src WORKDIR /src
# Copier le fichier projet et restaurer les dépendances # Copier le csproj et restaurer les dépendances
COPY ["WF-WebAdmin/WF-WebAdmin/WF-WebAdmin.csproj", "./"] COPY WF-WebAdmin/WF-WebAdmin/WF-WebAdmin.csproj ./
RUN dotnet restore "WF-WebAdmin.csproj" RUN dotnet restore WF-WebAdmin.csproj
# Copier tout le reste des fichiers et compiler
COPY WF-WebAdmin/WF-WebAdmin/. .
RUN dotnet build "WF-WebAdmin.csproj" -c Release -o /app/build
# Étape 3 : Publication de l'application # Copier le reste du code et compiler
FROM build AS publish COPY WF-WebAdmin/WF-WebAdmin/ ./
RUN dotnet publish "WF-WebAdmin.csproj" -c Release -o /app/publish RUN dotnet publish WF-WebAdmin.csproj -c Release -o /app/publish
# Étape 4 : Préparer l'image finale pour exécution # 2. Étape finale (runtime .NET 6)
FROM base AS final FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS final
WORKDIR /app WORKDIR /app
COPY --from=publish /app/publish .
# Lancer l'application # Désactiver le rechargement de config pour éviter les erreurs inotify
ENV ASPNETCORE_HOSTBUILDER__RELOADCONFIGONCHANGE=false
# Copier les binaires publiés
COPY --from=build /app/publish ./
# Exposer le port HTTP (80) ; adapte si besoin
EXPOSE 80
# Lancement
ENTRYPOINT ["dotnet", "WF-WebAdmin.dll"] ENTRYPOINT ["dotnet", "WF-WebAdmin.dll"]

Loading…
Cancel
Save