Commit 54639606 authored by Fabien Zucchet's avatar Fabien Zucchet
Browse files

Add working gitlab-ci.yml

parent 97299291
......@@ -62,12 +62,13 @@ back-preprod-deploy:
- >
ssh gitlabci@leaderboard.viarezo.fr
"cd leaderboard/back &&
git stash &&
git checkout staging &&
git stash &&
git pull &&
npm install --only=prod &&
pm2 delete back-preprod &&
PROD=false pm2 start src/index.js --name back-preprod &&
pm2 start src/index.js --name back-preprod &&
exit"
front-preprod-deploy:
......@@ -109,6 +110,7 @@ back-prod-deploy:
- >
ssh gitlabci@leaderboard.viarezo.fr
"cd leaderboard/back &&
git stash &&
git checkout master &&
git stash &&
git pull &&
......
HumaViRon
# HumaViRon
## Description du projet
##Description du projet
Ce projet est un leaderboard pour des événements de type Humaviron. Le front utilise React et Bootstrap et le back nodeJS. La base de donnée utilise mysql.
Ce projet est un projet de web app leaderboard pour l'Humaviron. Il possède une partie accessible sans connexion : accueil, accès aux classements, objectifs, page partenaires, ...
La partie administration est accessible via l'authentification avec l'[auth ViaRézo](https://auth.viarezo.fr).
### Suite à venir...
## Technologies utilisées
- **Front** : Le front utilise la librairie JavaScript React. Le routage est géré par React-routeur. Il communique au back grâces à des appels à l'api et axios.
- **Back** : Le back est en nodejs et utilise Express.
- **Base de données** : Le back communique avec une base de données mysql.
## Mise en production
- **Base de données** : mysql est installé directement sur la machine et disponible sur le port 3306 (port par défaut). Les bases de données de production et de pré-production sont nommées respectivement `leaderboard` et `leaderboard_preprod`. Les users des bases de données sont respectivement `leaderboard` et `leaderboard_preprod`. Les mots de passes sont définis dans les variables de la CI gitlab.
- **Back** : le back est lancé avec pm2 sous le nom `back-prod` (ou `back-preprod`) pour le back de preprod. Le back de production écoute sur le port 8000 et le back de pré-production sur le port 5000.
- **Front** : le front est compilé et servi de manière statique par nginx qui est configuré de manière à servir les 2 versions du site (`leaderboard.viarezo.fr` et `leaderboard-test.viarezo.fr`) et gérer le proxy du `/api` vers les backs respectifs.
## Déploiement avec CI/CD
Une pipeline est configurée sur le projet gitlab, les actions effectuées sont les suivantes:
- Dans le cas d'une branche quelconque : linter du back et du front.
- Dans le cas de la branche staging : linter et déploiement du site en version `preprod` [leaderboard-test.viarezo.fr](https://leaderboard-test.viarezo.fr).
- Dans le cas de la branche master : linter et déploiement du site en version `prod` [leaderboard.viarezo.fr](https://leaderboard.viarezo.fr).
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment