Skip to main content

Environnements

LocalPréproductionProduction
Branche Gitdevelopstagingmain
Hôteposte du développeur51.75.77.22051.75.79.112
URLhttp://localhost:3000 (API : 8000)https://sig-preprod.ucp-pch.orghttps://bemba.ucp-pch.org (aussi mariacare.ucp-pch.org, ucp-pch.org)
Composeaucun (PHP intégré + npm start)docker-compose.preprod.ymldocker-compose.prod.yml
Badge à l'écran« LOCAL » orange——
E-mailsnon envoyéséchouent volontairement (SMTP injoignable)OVH, noreply@ucp-pch.org
Accès SSH—alias pch-preprodalias pch-prod

Flux de travail​

develop ──► test local ──► staging ──► test sur la préproduction ──► main ──► production
  1. Tout changement de code se fait sur develop et se teste en local.
  2. develop est fusionnée dans staging, déployée en préproduction et testée à l'écran.
  3. Si c'est stable, staging est fusionnée dans main et déployée en production.
  4. Un bug de configuration se corrige directement sur le serveur concerné ; un bug de code repasse toujours par develop.

Les branches sont poussées sur deux dépôts : gitlab.com (axone2/pch-sig) et le GitLab auto-hébergé de la préproduction (axone/pch-sig, gitlab.ucp-pch.org).

Développement local​

Voir Développement local. En résumé : php -S localhost:8000 -t public dans backend/, npm start dans frontend/, base PostgreSQL locale.

Préproduction (51.75.77.220)​

Héberge, en plus de l'application :

ServiceEmplacementAdresse
KoboToolbox auto-hébergé~/kobo-install, ~/kobo-dockerkf / kc / ee.kobo.ucp-pch.org
Survey Solutionspch_suso_hq, pch_suso_dbsurveillé toutes les 5 min (check-suso.sh)
GitLab CE~/gitlabhttps://gitlab.ucp-pch.org, SSH sur le port 2222

Données de préproduction : copie de travail, avec un projet de test (TEST5K). Les comptes de test créés pour une vérification sont supprimés ensuite.

Production (51.75.79.112)​

Héberge l'application, la documentation (docubemba.ucp-pch.org), Loki, les exporteurs de métriques et le relais SMTP utilisé par le KoboToolbox de la préproduction. La base est répliquée en continu vers l'esclave de secours axone-dr.

Différences de configuration​

ÉlémentPréproductionProduction
Nom du conteneur PostgreSQLpréfixé (ex. a05a4cf97934_pch_postgres)pch_postgres
Alertes e-mail des plaintesdésactivables (ENABLE_PLAINTE_ALERTS)actives
Sauvegardepg_dump quotidien (30 j) + GitLab (14 j)réplication DR + restic

Pour retrouver le conteneur PostgreSQL de la préproduction :

docker ps --filter name=pch_postgres --format '{{.Names}}' | grep -v exporter