diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..3729ff0 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,25 @@ +**/.classpath +**/.dockerignore +**/.env +**/.git +**/.gitignore +**/.project +**/.settings +**/.toolstarget +**/.vs +**/.vscode +**/*.*proj.user +**/*.dbmdl +**/*.jfm +**/azds.yaml +**/bin +**/charts +**/docker-compose* +**/Dockerfile* +**/node_modules +**/npm-debug.log +**/obj +**/secrets.dev.yaml +**/values.dev.yaml +LICENSE +README.md \ No newline at end of file diff --git a/BlazorTp1/.drone.yml b/BlazorTp1/.drone.yml new file mode 100644 index 0000000..bb2e6e6 --- /dev/null +++ b/BlazorTp1/.drone.yml @@ -0,0 +1,66 @@ +kind: pipeline +type: docker +name: default + +trigger: + event: + - push + +steps: + - name: build + image: mcr.microsoft.com/dotnet/sdk:6.0 + commands: + - cd Sources/ + - dotnet restore BlazorTp1.sln + - dotnet build BlazorTp1.sln -c Release --no-restore + + - name: tests + image: mcr.microsoft.com/dotnet/sdk:6.0 + commands: + - cd Sources/ + - dotnet restore BlazorTp1.sln + - dotnet test BlazorTp1.sln --no-restore + depends_on: [build] + + - name: code-analysis + image: hub.codefirst.iut.uca.fr/thomas.bellembois/codefirst-dronesonarplugin-dotnet6 + commands: + - cd Sources/ + - dotnet restore BlazorTp1.sln + - dotnet sonarscanner begin /k:$REPO_NAME /d:sonar.host.url=$$$${PLUGIN_SONAR_HOST} /d:sonar.coverageReportPaths="coveragereport/SonarQube.xml" /d:sonar.coverage.exclusions="Tests/**" /d:sonar.login=$$$${PLUGIN_SONAR_TOKEN} + - dotnet build BlazorTp1.sln -c Release --no-restore + - dotnet test BlazorTp1.sln --logger trx --no-restore /p:CollectCoverage=true /p:CoverletOutputFormat=cobertura --collect "XPlat Code Coverage" + - reportgenerator -reports:"**/coverage.cobertura.xml" -reporttypes:SonarQube -targetdir:"coveragereport" + - dotnet publish BlazorTp1.sln -c Release --no-restore -o $CI_PROJECT_DIR/build/release + - dotnet sonarscanner end /d:sonar.login=$$$${PLUGIN_SONAR_TOKEN} + secrets: [ SECRET_SONAR_LOGIN ] + settings: + # accessible en ligne de commande par $${PLUGIN_SONAR_HOST} + sonar_host: https://codefirst.iut.uca.fr/sonar/ + # accessible en ligne de commande par $${PLUGIN_SONAR_TOKEN} + sonar_token: + from_secret: SECRET_SONAR_LOGIN + depends_on: [tests] + + - name: docker-build + image: plugins/docker + settings: + dockerfile: Sources/Dockerfile + context: . + registry: hub.codefirst.iut.uca.fr + repo: hub.codefirst.iut.uca.fr/my-group/my-application-client + username: + from_secret: SECRET_REGISTRY_USERNAME + password: + from_secret: SECRET_REGISTRY_PASSWORD + when: + branch: + - master + + - name: deploy-container + image: hub.codefirst.iut.uca.fr/thomas.bellembois/codefirst-dockerproxy-clientdrone:latest + environment: + IMAGENAME: hub.codefirst.iut.uca.fr/nicolas.franco/Tp_blazor:latest + CONTAINERNAME: blazor_container + COMMAND: create + OVERWRITE: true \ No newline at end of file diff --git a/BlazorTp1/BlazorTp1.csproj b/BlazorTp1/BlazorTp1.csproj index 2b73896..dcb11ac 100644 --- a/BlazorTp1/BlazorTp1.csproj +++ b/BlazorTp1/BlazorTp1.csproj @@ -4,9 +4,12 @@ net6.0 enable enable + 7a9f2a81-3e48-4dce-9a34-2ba44d8f4b2d + Linux + @@ -18,6 +21,7 @@ + diff --git a/BlazorTp1/Dockerfile b/BlazorTp1/Dockerfile new file mode 100644 index 0000000..da07480 --- /dev/null +++ b/BlazorTp1/Dockerfile @@ -0,0 +1,23 @@ +#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging. + +FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base +WORKDIR /app +EXPOSE 80 +EXPOSE 443 + +FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build +WORKDIR /src +COPY ["nuget.config", "."] +COPY ["BlazorTp1/BlazorTp1.csproj", "BlazorTp1/"] +RUN dotnet restore "BlazorTp1/BlazorTp1.csproj" +COPY . . +WORKDIR "/src/BlazorTp1" +RUN dotnet build "BlazorTp1.csproj" -c Release -o /app/build + +FROM build AS publish +RUN dotnet publish "BlazorTp1.csproj" -c Release -o /app/publish + +FROM base AS final +WORKDIR /app +COPY --from=publish /app/publish . +ENTRYPOINT ["dotnet", "BlazorTp1.dll"] \ No newline at end of file diff --git a/BlazorTp1/Properties/launchSettings.json b/BlazorTp1/Properties/launchSettings.json index 755e0cb..5749226 100644 --- a/BlazorTp1/Properties/launchSettings.json +++ b/BlazorTp1/Properties/launchSettings.json @@ -10,12 +10,12 @@ "profiles": { "BlazorTp1": { "commandName": "Project", - "dotnetRunMessages": true, "launchBrowser": true, - "applicationUrl": "https://localhost:7128;http://localhost:5128", "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" - } + }, + "applicationUrl": "https://localhost:7128;http://localhost:5128", + "dotnetRunMessages": true }, "IIS Express": { "commandName": "IISExpress", @@ -23,6 +23,13 @@ "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" } + }, + "Docker": { + "commandName": "Docker", + "launchBrowser": true, + "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}", + "publishAllPorts": true, + "useSSL": true } } -} +} \ No newline at end of file