From fa95b9003fd47de70bb8c0f410165855a8c63599 Mon Sep 17 00:00:00 2001 From: Gabriel Matte Date: Wed, 27 Nov 2024 15:52:32 -0500 Subject: [PATCH] fixes plantuml url + adds back deployment diagram --- .github/workflows/create-docs.yml | 2 + .../docs/developpeur/deploiements/prod.md | 75 +++++++++++++------ documentation/docs/developpeur/index.md | 2 +- documentation/mkdocs.yml | 3 +- 4 files changed, 56 insertions(+), 26 deletions(-) diff --git a/.github/workflows/create-docs.yml b/.github/workflows/create-docs.yml index 468df44..b981713 100644 --- a/.github/workflows/create-docs.yml +++ b/.github/workflows/create-docs.yml @@ -9,6 +9,8 @@ jobs: build: name: Deploy docs runs-on: ubuntu-latest + env: + PUMLURL: "https://www.plantuml.com/plantuml/" steps: - name: Checkout main uses: actions/checkout@v2 diff --git a/documentation/docs/developpeur/deploiements/prod.md b/documentation/docs/developpeur/deploiements/prod.md index 127d083..47e1176 100644 --- a/documentation/docs/developpeur/deploiements/prod.md +++ b/documentation/docs/developpeur/deploiements/prod.md @@ -6,29 +6,58 @@ Nous avons choisi d'exécuter les composantes de cette application avec Docker, Voici un diagramme de déploiement expliquant la relation des composantes et comment les images Docker sont créées et déployées dans un serveur. ```plantuml - @startuml - [Navigateur moderne (Windows/Android)] as Navigateur - [MongoDB] as MongoDB - Navigateur -> "docker-compose.yml" - [Docker] as Docker - "docker-compose.yml" -> [evaluetonSavoir-backend (Express, Javscript)] - [evaluetonSavoir-backend (Express, Javscript)] -> API_REST - [evaluetonSavoir-backend (Express, Javscript)] -> SOCKET_SALLE - [evaluetonSavoir-routeur (nginx)] as routeur - API_REST -> routeur - SOCKET_SALLE -> routeur - [evaluetonSavoir-frontend (Vue + TypeScript React)] as frontend - routeur -> frontend - [Docker hub] as DockerHub - [image-evaluetonSavoir-backend] -> DockerHub - [image-evaluetonSavoir-routeur] -> DockerHub - [image-evaluetonSavoir-frontend] -> DockerHub - [GitHub] as GitHub - "backend-deploy.yml" <- GitHub - "routeur-deploy.yml" <- GitHub - "frontend-deploy.yml" <- GitHub - Navigateur <--> evalsa.etsmtl.ca : chargée à partir des pages web - @enduml +@startuml +skinparam style strictuml +skinparam component { + BackgroundColor<> LightBlue + BackgroundColor<> lightgreen +} +node "evalsa.etsmtl.ca" { + artifact "docker-compose.yml" as compose + node "Docker" as docker { + [evaluetonsavoir-routeur\n(nginx)] <> as ROC + [evaluetonsavoir-frontend\n(vite + TypeScript React)] <> as FEC + component "evaluetonsavoir-backend\n(Express, Javascript)" <> as BEC { + port API_REST + port SOCKET_SALLE + } + } + database "MongoDB" as BD + BD -- BEC + +} + +node "Docker hub" { + component evaluetonsavoir-routeur <> as RO { + } + component evaluetonsavoir-frontend <> as FE { + } + component evaluetonsavoir-backend <> as BE { + } +} + +node "GitHub" { + artifact "routeur-deploy.yml" <> as RO_D + artifact "backend-deploy.yml" <> as BE_D + artifact "frontend-deploy.yml" <> as FE_D +} + +BE <-- BE_D : on commit +FE <-- FE_D +RO <-- RO_D + +BEC <.. BE : "pull à 5h du matin" +FEC <.. FE +ROC <.. RO + +node "Navigateur moderne\n(Windows/Android)" as browser { + [React App] as RA_NAV +} + +RA_NAV <.. FEC : chargée à partir des pages web +RA_NAV ..> API_REST : API REST +RA_NAV <..> SOCKET_SALLE : WebSocket +@enduml ``` ## Prérequis diff --git a/documentation/docs/developpeur/index.md b/documentation/docs/developpeur/index.md index 14e4554..4d53da6 100644 --- a/documentation/docs/developpeur/index.md +++ b/documentation/docs/developpeur/index.md @@ -30,7 +30,6 @@ Afin de faciliter le déploiement de masse : ```plantuml @startuml - package Proxy{ component Nginx } @@ -54,6 +53,7 @@ Backend --right-> MongoDb Backend --up-> Nginx Frontend --up-> Nginx + @enduml ``` diff --git a/documentation/mkdocs.yml b/documentation/mkdocs.yml index 4c0909a..e938af1 100644 --- a/documentation/mkdocs.yml +++ b/documentation/mkdocs.yml @@ -50,8 +50,7 @@ plugins: - search - offline - plantuml: - default: https://www.plantuml.com/plantuml/ # default - puml_url: http://localhost:8080/plantuml # dev + puml_url: !ENV [PUMLURL,'http://localhost:8080'] # dev puml_keyword: plantuml theme: light: material/deep-purple-light