Définition des environnements
Présentation des environnements d'exécution
- Production : Environnement de production avec toutes les contraintes techniques de sécurisation et de performance. Le code qui s'exécute est celui de la branche 'master'
- Pré-production/qualification => Environnement de recette, de mise en prépoduction (patching technique ou modifiaiton infra). le code qui s'exécute est celui de la branche 'staging'.
- Intégration (également mentionné DEV dans les CI) : environnement d'intégration des différents environnements locaux des développeurs. Cet environnement exécute la version EN COURS DE DEVELOPPEMENT. Il est par défaut instable et la base de données est à la merci 🤣 des développeurs. Le code qui s'exécute est celui de la branche 'dev'.
- Développement/local : environnement de développement local sur l'ordinateur d'un développeur. Branches locales, éventuellement mis en remote le temps de la PR vers dev.
Chaque environnement est composé des composants suivants :
- Frontend
- API backend
- Base de données
- API Gateway
Accès par environnement et par profil
| Environnement | Profil | Accès (site, API) | Configuration appsettings | Configuration CI/CD | Configuration / Accès DO | Déclenchement CI/CD | Modification CI/CD | Accès Keepass | Logs Sentry | Branche | Mailpit |
|---|---|---|---|---|---|---|---|---|---|---|---|
| DEV <br> Resp : Dev | Dev | Oui | Oui | Non | Non | Oui | Non | Développeur | Oui | dev | Oui |
| Ops / Chef de projet | Oui | Oui | Oui | Oui | Oui | Oui | Développeur & Admin | Oui | dev | Oui | |
| Client | Non | Non | Non | Non | Non | Non | Non | Non | dev | Oui | |
| STAGING <br> Resp : Ops | Dev | Non | Non | Non | Non | Non | Non | Non | Oui | staging | Oui |
| Ops / Chef de projet | Oui | Oui | Oui | Oui | Oui | Oui | Développeur & Admin | Oui | staging | Oui | |
| Client | Oui | Non | Non | Non | Non | Non | Non | Non | staging | Oui | |
| PRODUCTION <br> Resp : Ops | Dev | Non | Non | Non | Non | Non | Non | Non | Non | master | Oui |
| Ops / Chef de projet | Oui | Oui | Oui | Oui | Oui | Oui | Développeur & Admin | Oui | master | Oui | |
| Client | Oui | Non | Non | Non | Non | Non | Non | Non | master | Oui |
Container registry (Digital Ocean)
- Production : Contient uniquement les images Docker de Production, issue de la branche master. URL : https://cloud.digitalocean.com/registry/cam-registry
- Tag : latest et releases
- Staging/dev : Contient les images Docker de Dev et Staging, issue des branches dev et staging. URL : https://cloud.digitalocean.com/registry/cam-registry-staging
- Tag Staging : latest-qual
- Tag Dev : latest-dev
Base de données Postgres
- Production : Les bases de données de production uniquement.
- Staging : Les bases de données de l'environnement de staging uniquement. Serveur cam-postgresql-cluster-staging-do-user-21245965-0.g.db.ondigitalocean.com (port 25060)
- Nom des bases de données : même nom qu'en prod avec _staging à la fin
- Nom des utilisateurs : même nom qu'en prod avec _staging à la fin
- Dev : Les bases de données de développement uniquement. Serveur cam-postgresql-cluster-dev-do-user-21245965-0.k.db.ondigitalocean.com (port 25060)
- Nom des bases de données : même nom qu'en prod avec _dev à la fin
- Nom des utilisateurs : même nom qu'en prod avec _dev à la fin
API Gateway
Voir la documentation suivante : [API Gateway (Ocelot)](API-Gateway- Ocelot.md))
Serveur de mail Mailpit (DEV et STAGING uniquement)
Voir la documentation suivante : Serveur SMTP Mailpit
Environnement de Développement (DEV)
Localisation : EUROPE (Allemagne)
Informations
- API (API Gateway) : https://dev.api.societaire.cam.nc/ (Swagger activé)
- Front : https://dev.societaire.cam.nc/
- Base de données : a être réintégrée dans celle de STAGING/DEV
- Hostname : cam-postgresql-cluster-dev-do-user-21245965-0.k.db.ondigitalocean.com
- Port : 25060
- DB : cam_portail_dev
- User : cam_portail_dev
- Mdp : voir Keepass
Prérequis logiciels pour les postes de développement
⚠️ A mettre à jour
-
Backend :
- Visual Studio 2022 (version recommandée pour .NET 9)
- .NET 9 SDK (télécharger)
- Git (dernière version)
- Docker (dernière version, nécessaire pour le build et le déploiement des images)
- ABP CLI (documentation)
-
Frontend :
- Visual Studio Code (recommandé pour Angular)
- Node.js v18 ou v20 (télécharger)
- Yarn 1.22.22 (documentation)
- npx (inclus avec Node.js)
- npm (inclus avec Node.js)
Environnement de Recette (STAGING)
Environnement de développement
Localisation : AUSTRALIE (Sydney)
Se connecter aux ressources :
- API (API Gateway) : https://staging.api.societaire.cam.nc/ (Swagger activé)
- Front : https://sytaging.societaire.cam.nc/
- Base de données : a être réintégrée dans celle de STAGING/DEV
- Hostname : cam-postgresql-cluster-staging-do-user-21245965-0.g.db.ondigitalocean.com
- Port : 25060
- DB : cam_portail_staging
- User : cam_portail_staging
- Mdp : voir Keepass