Skip to content

Déploiement

Thomas edited this page Nov 30, 2022 · 3 revisions

Récupération des dépots

Cloner les repos github (web-backend et web-front cf récupération du code source) et mettre à jour les fichiers de conf

Au niveau du front : Récupérer la branche de dev :

git checkout hudeca/dev

S’il n’est pas déjà présent, créer un fichier .env avec les infos suivantes :

DJANGO_APP_SERVER_URL=http://localhost:8000
REACT_APP_DATABASE=HuDeCA   (ou nom du viewer utilisé : RGV ou Uncover)

Au niveau du back : Récupérer la branche de dev :

git checkout develop

Dans le rep config/settings/, dans production.py au niveau de CSRF_TRUSTED_ORIGINS ajouter l’url d’accès à l’application (exemple : test-192-168-101-109.vm.openstack.genouest.org)

NB : dans le fichier preproduction.yml, il y a une ligne concernant le volume : cela permet d’avoir des données persistantes si on fait des docker-compose up/down par la suite mais ces lignes peuvent être supprimées lors des devs pour éviter d’avoir à recopier le code au sein du volume

Network Docker

Créer les networks web et genoapp (web-backend):

docker network create web
docker network create genoapp

Build

Faire un build pour les deux applis (se placer au sein des répertoires correspondant avant de lancer les commandes) Back: docker-compose -f preproduction.yml build

Front, pour builder à partir du code en local :

docker-compose -f preprod_docker-compose.yml build

ou pour récupérer directement l'image sur dockerhub:

docker build -t scilicium/geno_app-front:dev . 

Run application

Lancer les deux applications Back :

docker-compose -f preproduction.yml up -d

Front :

docker-compose -f preprod_docker-compose.yml up -d

Intégrer les modèles de données (web-backend)

docker-compose -f preproduction.yml run --rm django python manage.py migrate

Création compte super User (web-backend)

docker-compose -f preproduction.yml run  django python manage.py createsuperuser

Gestion des medias

De base les medias (images, fichiers...) sont stockés dans le directory définie dans /config/settings/base.py

MEDIA_ROOT = str(APPS_DIR / "media")

Avec APPS_DIR :

APPS_DIR = ROOT_DIR / "scilicium_django_react"

Pour accéder aux données:

from django.conf import settings
os.path.join(settings.MEDIA_ROOT,fileName)