diff --git a/.drone.yml b/.drone.yml index 374a6b0..7fc23c9 100644 --- a/.drone.yml +++ b/.drone.yml @@ -5,29 +5,35 @@ name: CI_ApiPm trigger: event: - push + - pull_request + - tag branch: exclude: - master +volumes: + - name: docs + temp: {} + steps: - - name: retore & build + - name: restore & build image: mcr.microsoft.com/dotnet/sdk:8.0 commands: - dotnet build WF_EF_Api/WF_EF_Api.sln --configuration Release - depend_on: [clone] + depends_on: [clone] - name: test image: mcr.microsoft.com/dotnet/sdk:8.0 commands: - dotnet test WF_EF_Api/XUnitTest/XUnitTest.csproj - depends_on: [retore & build] - + depends_on: [restore & build] + - name: publish image: mcr.microsoft.com/dotnet/sdk:8.0 commands: - dotnet publish WF_EF_Api/WfApi/WfApi.csproj -c Release -o out - depends_on: [retore & build, test] - + depends_on: [restore & build, test] + --- kind: pipeline @@ -44,19 +50,18 @@ volumes: - name: doc temp: {} - steps: - - name: retore & build + - name: restore & build image: mcr.microsoft.com/dotnet/sdk:8.0 commands: - - dotnet build --configuration Release - depend_on: [clone] + - dotnet build WF_EF_Api/WF_EF_Api.sln --configuration Release + depends_on: [clone] - name: test image: mcr.microsoft.com/dotnet/sdk:8.0 commands: - dotnet test WF_EF_Api/XUnitTest/XUnitTest.csproj - depends_on: [retore & build] + depends_on: [restore & build] - name: generate doc image: mcr.microsoft.com/dotnet/sdk:8.0 @@ -66,17 +71,114 @@ steps: commands: - dotnet new tool-manifest - dotnet tool install NSwag.ConsoleCore - - dotnet restore + - dotnet restore WF_EF_Api/WF_EF_Api.sln + - dotnet clean WF_EF_Api/WfApi/WfApi.csproj - cd WF_EF_Api/WfApi - dotnet nswag aspnetcore2openapi /output:/doc/swagger.json - depends_on: [clone, retore & build] - - #- name: code-inspection - # image: hub.codefirst.iut.uca.fr/marc.chevaldonne:codefirs-dronsonarplugin-dotnet8 - # secret: [SECRET_SONAR_LOGIN] - # A FINIR + depends_on: [clone, restore & build,test] + + - name: code-inspection + image: hub.codefirst.iut.uca.fr/marc.chevaldonne/codefirst-dronesonarplugin-dotnet8 + secrets: [ SECRET_SONAR_LOGIN ] + environment: + sonar_host: https://codefirst.iut.uca.fr/sonar/ + sonar_token_wtf: + from_secret: SECRET_SONAR_LOGIN + project_key: wtf-service + commands: + - dotnet restore WF_EF_Api/WF_EF_Api.sln + - dotnet sonarscanner begin /k:$${project_key} /d:sonar.host.url=$${sonar_host} /d:sonar.coverageReportPaths="coveragereport/SonarQube.xml" /d:sonar.login=$${sonar_token_wtf} + - dotnet build WF_EF_Api/WF_EF_Api.sln -c Release --no-restore + - dotnet test WF_EF_Api/XUnitTest/XUnitTest.csproj --logger trx --no-restore /p:CollectCoverage=true /p:CoverletOutputFormat=cobertura --collect "XPlat Code Coverage" + - reportgenerator -reports:"**/coverage.cobertura.xml" -reporttypes:SonarQube -targetdir:"coveragereport" + - dotnet sonarscanner end /d:sonar.login=$${sonar_token_wtf} + depends_on: [test] + - name: publish image: mcr.microsoft.com/dotnet/sdk:8.0 commands: - - dotnet publish -c Release -o out - depends_on: [retore & build, test] \ No newline at end of file + - dotnet publish WF_EF_Api/WfApi/WfApi.csproj -c Release -o out + depends_on: [restore & build, test] + + - name: deploy-api-db + image: hub.codefirst.iut.uca.fr/thomas.bellembois/codefirst-dockerproxy-clientdrone:latest + environment: + IMAGENAME: postgres:16.8-alpine3.20 + CONTAINERNAME: wtf-api + COMMAND: create + PRIVATE: true + CODEFIRST_CLIENTDRONE_ENV_POSTGRES_PASSWORD: + from_secret: POSTGRES_PASSWORD_API + CODEFIRST_CLIENTDRONE_ENV_POSTGRES_USER: + from_secret: POSTGRES_USER_API + CODEFIRST_CLIENTDRONE_ENV_POSTGRES_DB: + from_secret: POSTGRES_DB_API + ADMINS: kentinbrongniart,lenibeaulaton + + - name: deploy-auth-db + image: hub.codefirst.iut.uca.fr/thomas.bellembois/codefirst-dockerproxy-clientdrone:latest + environment: + IMAGENAME: postgres:16.8-alpine3.20 + CONTAINERNAME: wtf-api-auth + COMMAND: create + PRIVATE: true + CODEFIRST_CLIENTDRONE_ENV_POSTGRES_PASSWORD: + from_secret: POSTGRES_PASSWORD_AUTH + CODEFIRST_CLIENTDRONE_ENV_POSTGRES_USER: + from_secret: POSTGRES_USER_AUTH + CODEFIRST_CLIENTDRONE_ENV_POSTGRES_DB: + from_secret: POSTGRES_DB_AUTH + ADMINS: kentinbrongniart,lenibeaulaton + + - name: deploy-test-db + image: hub.codefirst.iut.uca.fr/thomas.bellembois/codefirst-dockerproxy-clientdrone:latest + environment: + IMAGENAME: postgres:16.8-alpine3.20 + CONTAINERNAME: wtf-api-test + COMMAND: create + PRIVATE: true + CODEFIRST_CLIENTDRONE_ENV_POSTGRES_PASSWORD: "test" + CODEFIRST_CLIENTDRONE_ENV_POSTGRES_USER: "test" + CODEFIRST_CLIENTDRONE_ENV_POSTGRES_DB: "wtf-test" + ADMINS: kentinbrongniart,lenibeaulaton + + - name: publish-to-registry + image: plugins/docker + settings: + dockerfile: src/Dockerfile + context: src/ + registry: hub.codefirst.iut.uca.fr + repo: hub.codefirst.iut.uca.fr/WhatTheFantasy/WF-PmAPI + username: + from_secret: SECRET_REGISTRY_USERNAME + password: + from_secret: SECRET_REGISTRY_PASSWORD + depends_on: [restore & build, test, code-inspection, publish] + + - name: deploy-container + image: hub.codefirst.iut.uca.fr/thomas.bellembois/codefirst-dockerproxy-clientdrone:latest + environment: + IMAGENAME: hub.codefirst.iut.uca.fr/WhatTheFantasy/WF-PmAPI:latest + CONTAINERNAME: web-services + COMMAND: create + OVERWRITE: true + CODEFIRST_CLIENTDRONE_ENV_DB_SERVER_API: "SAE-WHAT-THE-FANTASY-wtf-api" + CODEFIRST_CLIENTDRONE_ENV_DB_USER_API: + from_secret: POSTGRES_USER_API + CODEFIRST_CLIENTDRONE_ENV_DB_PASSWORD_API: + from_secret: POSTGRES_PASSWORD_API + CODEFIRST_CLIENTDRONE_ENV_DB_DATABASE_API: + from_secret: POSTGRES_DB_API + CODEFIRST_CLIENTDRONE_ENV_DB_SERVER_AUTH: "SAE-WHAT-THE-FANTASY-wtf-api-auth" + CODEFIRST_CLIENTDRONE_ENV_DB_USER_AUTH: + from_secret: POSTGRES_USER_AUTH + CODEFIRST_CLIENTDRONE_ENV_DB_PASSWORD_AUTH: + from_secret: POSTGRES_PASSWORD_AUTH + CODEFIRST_CLIENTDRONE_ENV_DB_DATABASE_AUTH: + from_secret: POSTGRES_DB_AUTH + CODEFIRST_CLIENTDRONE_ENV_DB_SERVER_API_TEST: "SAE-WHAT-THE-FANTASY-wtf-api" + CODEFIRST_CLIENTDRONE_ENV_DB_USER_API_TEST: "test" + CODEFIRST_CLIENTDRONE_ENV_DB_PASSWORD_API_TEST: "test" + CODEFIRST_CLIENTDRONE_ENV_DB_DATABASE_API_TEST: "wtf-db-test" + ADMINS: kentinbrongniart,lenibeaulaton + depends_on: [restore & build, test, code-inspection, publish, publish-to-registry] diff --git a/README.md b/README.md index 7cf3392..9cfbdf7 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,8 @@ ### Paquets -NSwag.AspNetCore
-Moq +- NSwag.AspNetCore
+- Moq 🟨 En cours / ✅ Fait / ❌ Pas fait diff --git a/WF_EF_Api/ConsoleTest/ConsoleTest.csproj b/WF_EF_Api/ConsoleTest/ConsoleTest.csproj index ab5c068..37f343b 100644 --- a/WF_EF_Api/ConsoleTest/ConsoleTest.csproj +++ b/WF_EF_Api/ConsoleTest/ConsoleTest.csproj @@ -14,6 +14,8 @@ + + diff --git a/WF_EF_Api/Contextlib/Contextlib.csproj b/WF_EF_Api/Contextlib/Contextlib.csproj index 71fb706..e901b0b 100644 --- a/WF_EF_Api/Contextlib/Contextlib.csproj +++ b/WF_EF_Api/Contextlib/Contextlib.csproj @@ -20,6 +20,8 @@ + + diff --git a/WF_EF_Api/DTO/DTO.csproj b/WF_EF_Api/DTO/DTO.csproj index eb07bc3..d141848 100644 --- a/WF_EF_Api/DTO/DTO.csproj +++ b/WF_EF_Api/DTO/DTO.csproj @@ -12,6 +12,8 @@ runtime; build; native; contentfiles; analyzers; buildtransitive + + diff --git a/WF_EF_Api/Dto2Entities/Dto2Entities.csproj b/WF_EF_Api/Dto2Entities/Dto2Entities.csproj index 878498d..4bed57b 100644 --- a/WF_EF_Api/Dto2Entities/Dto2Entities.csproj +++ b/WF_EF_Api/Dto2Entities/Dto2Entities.csproj @@ -12,6 +12,8 @@ runtime; build; native; contentfiles; analyzers; buildtransitive + + diff --git a/WF_EF_Api/Entity/Entity.csproj b/WF_EF_Api/Entity/Entity.csproj index eb07bc3..d141848 100644 --- a/WF_EF_Api/Entity/Entity.csproj +++ b/WF_EF_Api/Entity/Entity.csproj @@ -12,6 +12,8 @@ runtime; build; native; contentfiles; analyzers; buildtransitive + + diff --git a/WF_EF_Api/ServicesApi/ServicesApi.csproj b/WF_EF_Api/ServicesApi/ServicesApi.csproj index c9b2ead..382fb88 100644 --- a/WF_EF_Api/ServicesApi/ServicesApi.csproj +++ b/WF_EF_Api/ServicesApi/ServicesApi.csproj @@ -12,6 +12,8 @@ runtime; build; native; contentfiles; analyzers; buildtransitive + + diff --git a/WF_EF_Api/Shared/Shared.csproj b/WF_EF_Api/Shared/Shared.csproj index eb07bc3..d141848 100644 --- a/WF_EF_Api/Shared/Shared.csproj +++ b/WF_EF_Api/Shared/Shared.csproj @@ -12,6 +12,8 @@ runtime; build; native; contentfiles; analyzers; buildtransitive + + diff --git a/WF_EF_Api/StubApi/StubApi.csproj b/WF_EF_Api/StubApi/StubApi.csproj index b52caac..830978e 100644 --- a/WF_EF_Api/StubApi/StubApi.csproj +++ b/WF_EF_Api/StubApi/StubApi.csproj @@ -12,6 +12,8 @@ runtime; build; native; contentfiles; analyzers; buildtransitive + + diff --git a/WF_EF_Api/StubbedContextLib/StubbedContextLib.csproj b/WF_EF_Api/StubbedContextLib/StubbedContextLib.csproj index d1ff57b..0b9f2af 100644 --- a/WF_EF_Api/StubbedContextLib/StubbedContextLib.csproj +++ b/WF_EF_Api/StubbedContextLib/StubbedContextLib.csproj @@ -12,6 +12,8 @@ runtime; build; native; contentfiles; analyzers; buildtransitive + + diff --git a/WF_EF_Api/TestModel2Entities/TestModel2Entities.csproj b/WF_EF_Api/TestModel2Entities/TestModel2Entities.csproj index eb07bc3..d141848 100644 --- a/WF_EF_Api/TestModel2Entities/TestModel2Entities.csproj +++ b/WF_EF_Api/TestModel2Entities/TestModel2Entities.csproj @@ -12,6 +12,8 @@ runtime; build; native; contentfiles; analyzers; buildtransitive + + diff --git a/WF_EF_Api/WfApi/WfApi.csproj b/WF_EF_Api/WfApi/WfApi.csproj index 8f836d0..45cbb0a 100644 --- a/WF_EF_Api/WfApi/WfApi.csproj +++ b/WF_EF_Api/WfApi/WfApi.csproj @@ -18,6 +18,8 @@ + + diff --git a/WF_EF_Api/XUnitTest/XUnitTest.csproj b/WF_EF_Api/XUnitTest/XUnitTest.csproj index 6fb9876..ecb5e73 100644 --- a/WF_EF_Api/XUnitTest/XUnitTest.csproj +++ b/WF_EF_Api/XUnitTest/XUnitTest.csproj @@ -19,6 +19,8 @@ + +