@@ -58,8 +58,6 @@ graph TB
5858 ITxRepo -.->|implémenté par| InMemTxRepo
5959```
6060
61- ![ Architecture Hexagonale] ( ./architecture.png )
62-
6361### Structure du Projet
6462
6563```
@@ -108,25 +106,8 @@ BankingKata/
108106│ ├── AccountsControllerTests.cs
109107│ └── SavingsControllerTests.cs
110108│
111- ├── .github/
112- │ ├── workflows/
113- │ │ ├── ci.yml # Pipeline CI
114- │ │ └── cd.yml # Pipeline CD
115- │ └── environments/
116- │ ├── staging.json
117- │ └── production.json
118- │
119- ├── k8s/ # ☸️ Kubernetes
120- │ ├── charts/bankingkata-api/ # Helm chart
121- │ └── environments/ # Overlays
122- │ ├── staging/
123- │ └── production/
124- │
125- ├── Dockerfile # 🐳 Multi-stage build
126- ├── docker-compose.yml # Dev environment
127- ├── docker-compose.prod.yml # Prod with Traefik
128- ├── GitVersion.yml # 📋 Versioning strategy
129- └── .dockerignore
109+ └── .github/workflows/
110+ └── ci.yml # Pipeline CI
130111```
131112
132113### Principes de l'Architecture Hexagonale
@@ -369,80 +350,14 @@ Une décision de design importante : les deux types de comptes (`BankAccount` et
369350
370351---
371352
372- ## CI/CD Pipeline
373-
374- ### GitHub Actions Workflows
353+ ## CI Pipeline
375354
376- #### CI Pipeline (` .github/workflows/ci.yml ` )
355+ ### GitHub Actions (` .github/workflows/ci.yml ` )
377356
378357| Étape | Description |
379358| -------| -------------|
380359| Checkout | Récupération du code |
381360| Setup .NET | Installation .NET 8 |
382361| Restore | Restauration des dépendances |
383362| Build | Compilation en Release |
384- | Tests | Tests unitaires |
385- | Integration Tests | Tests d'intégration API |
386-
387- #### CD Pipeline (` .github/workflows/cd.yml ` )
388-
389- | Étape | Description |
390- | -------| -------------|
391- | Checkout | Récupération du code |
392- | Docker Buildx | Configuration multi-platform |
393- | Login | Connexion à GHCR |
394- | Build & Push | Construction et push de l'image Docker |
395-
396- ### Docker
397-
398- #### Dockerfile
399-
400- ``` dockerfile
401- FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
402- WORKDIR /src
403- # ... build steps ...
404-
405- FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS runtime
406- WORKDIR /app
407- EXPOSE 5000
408- ENTRYPOINT ["dotnet" , "BankingKata.Api.dll" ]
409- ```
410-
411- #### Docker Compose
412-
413- ``` bash
414- # Développement
415- docker-compose up -d
416-
417- # Production avec Traefik
418- docker-compose -f docker-compose.prod.yml up -d
419- ```
420-
421- ### Kubernetes
422-
423- #### Helm Chart
424-
425- ``` bash
426- # Staging
427- helm upgrade --install bankingkata ./k8s/charts/bankingkata-api \
428- -f ./k8s/environments/staging/values.yaml \
429- -n bankingkata --create-namespace
430-
431- # Production
432- helm upgrade --install bankingkata ./k8s/charts/bankingkata-api \
433- -f ./k8s/environments/production/values.yaml \
434- -n bankingkata --create-namespace
435- ```
436-
437- ### Commandes Utiles
438-
439- ``` bash
440- # Build local Docker
441- docker build -t bankingkata-api:latest .
442-
443- # Run avec docker-compose
444- docker-compose up -d
445-
446- # Run avec monitoring
447- docker-compose -f docker-compose.prod.yml up -d
448- ```
363+ | Tests | Tests unitaires + d'intégration |
0 commit comments