composant | desc |
---|---|
front | react/react-router/webpack |
API | express.js |
minio | échange de fichiers format S3 |
elastic cloud | moteur recherche entreprises |
n8n | mise à jour des données de ElasticSearch |
strapi | CMS (pages) + gestion du white-listing |
- un environnement de production
- un environnement par branche de review
- pas de preprod
il faut utiliser Node@14 et yarn
- lancer les composants infra :
docker-compose up
- lancer le frontend :
cd src/client && yarn && yarn start
- dans
src/backend
:- copier
.env.dist
en.env
- lancer le serveur :
yarn && yarn watch
- copier
- dans
src/strapi
:- copier
.env.dist
en.env
- lancer strapi :
yarn && yarn develop
- copier
A ce moment là vous aurez :
- http://127.0.0.1:3000 : frontend
- http://127.0.0.1:8082 : backend
- http://127.0.0.1:1337 : strapi
Un environnement de review est déployé pour chaque pull-request via les GitHub actions.
Le repo suit les conventions de semantic-release :
- Les devs doivent suivre les conventions de commit de semantic-release.
- Les releases sont déclenchées au merge sur la branche
master
- La release déclenche:
- création d'un changelog + tag GIT
- build et register des images docker dans la registry GitHub ghcr.io avec le tag en question
- demande une confirmation manuelle dans GitHub actions puis déploie sur le cluster kubernetes de prod de la fabrique.
Le déploiement par environnement est automatisé via les GitHub actions.
Les déploiements sont effectués par Kontinuous, la solution de CI/CD de la Fabrique Numérique des ministères sociaux.
npx kontinuous build --open --debug # permet de produire des manifests YAML pour kubernetes.
Secrets can be encrypted using webseal
- If you get this error
function uuid_generate_v4() does not exist
, run on your db
SET search_path TO public;
DROP EXTENSION IF EXISTS "uuid-ossp";
CREATE EXTENSION "uuid-ossp" SCHEMA public;