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 @@
+
+