Merge branch 'Kerl/venv' into 'master'
Virtualenv Ce patch introduit un virtualenv dans le setup de dev. Cela permet notamment de passer à python 3 sans avoir à remplacer toutes ses commandes `python manage.py ...` par `python3 manage.py ...`. Il faut relancer le provisionning de la VM pour appliquer ce patch : `vagrant reload --provision` See merge request !109
This commit is contained in:
commit
2196c7dce1
2
Vagrantfile
vendored
2
Vagrantfile
vendored
|
@ -10,7 +10,7 @@ Vagrant.configure(2) do |config|
|
||||||
# For a complete reference, please see the online documentation at
|
# For a complete reference, please see the online documentation at
|
||||||
# https://docs.vagrantup.com.
|
# https://docs.vagrantup.com.
|
||||||
|
|
||||||
config.vm.box = "ubuntu/trusty64"
|
config.vm.box = "ubuntu/xenial64"
|
||||||
|
|
||||||
# On associe le port 80 dans la machine virtuelle avec le port 8080 de notre
|
# On associe le port 80 dans la machine virtuelle avec le port 8080 de notre
|
||||||
# ordinateur, et le port 8000 avec le port 8000.
|
# ordinateur, et le port 8000 avec le port 8000.
|
||||||
|
|
14
cof/urls.py
14
cof/urls.py
|
@ -1,24 +1,27 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
"""
|
||||||
|
Fichier principal de configuration des urls du projet GestioCOF
|
||||||
|
"""
|
||||||
|
|
||||||
from __future__ import division
|
from __future__ import division
|
||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
import autocomplete_light
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.conf.urls import include, url
|
from django.conf.urls import include, url
|
||||||
from django.conf.urls.static import static
|
from django.conf.urls.static import static
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from django.views.generic.base import TemplateView
|
from django.views.generic.base import TemplateView
|
||||||
|
|
||||||
import autocomplete_light
|
|
||||||
|
|
||||||
from django.contrib.auth import views as django_views
|
from django.contrib.auth import views as django_views
|
||||||
from django_cas_ng import views as django_cas_views
|
from django_cas_ng import views as django_cas_views
|
||||||
|
|
||||||
from gestioncof import views as gestioncof_views, csv_views
|
from gestioncof import views as gestioncof_views, csv_views
|
||||||
from gestioncof.urls import export_patterns, petitcours_patterns, \
|
from gestioncof.urls import export_patterns, petitcours_patterns, \
|
||||||
surveys_patterns, events_patterns, calendar_patterns, \
|
surveys_patterns, events_patterns, calendar_patterns, \
|
||||||
clubs_patterns
|
clubs_patterns
|
||||||
|
|
||||||
from gestioncof.autocomplete import autocomplete
|
from gestioncof.autocomplete import autocomplete
|
||||||
|
|
||||||
autocomplete_light.autodiscover()
|
autocomplete_light.autodiscover()
|
||||||
|
@ -92,4 +95,5 @@ if settings.DEBUG:
|
||||||
|
|
||||||
# Si on est en production, MEDIA_ROOT est servi par Apache.
|
# Si on est en production, MEDIA_ROOT est servi par Apache.
|
||||||
# Il faut dire à Django de servir MEDIA_ROOT lui-même en développement.
|
# Il faut dire à Django de servir MEDIA_ROOT lui-même en développement.
|
||||||
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
urlpatterns += static(settings.MEDIA_URL,
|
||||||
|
document_root=settings.MEDIA_ROOT)
|
||||||
|
|
|
@ -8,7 +8,7 @@ DBNAME="cof_gestion"
|
||||||
DBPASSWD="4KZt3nGPLVeWSvtBZPSM3fSzXpzEU4"
|
DBPASSWD="4KZt3nGPLVeWSvtBZPSM3fSzXpzEU4"
|
||||||
|
|
||||||
# Installation de paquets utiles
|
# Installation de paquets utiles
|
||||||
apt-get update && apt-get install -y mercurial python-pip python-dev \
|
apt-get update && apt-get install -y python3-pip python3-dev python3-venv \
|
||||||
libmysqlclient-dev libjpeg-dev git redis-server
|
libmysqlclient-dev libjpeg-dev git redis-server
|
||||||
pip install -U pip
|
pip install -U pip
|
||||||
|
|
||||||
|
@ -30,10 +30,10 @@ a2ensite gestiocof
|
||||||
a2dissite 000-default
|
a2dissite 000-default
|
||||||
service apache2 restart
|
service apache2 restart
|
||||||
mkdir /var/www/static
|
mkdir /var/www/static
|
||||||
chown -R vagrant:www-data /var/www/static
|
chown -R ubuntu:www-data /var/www/static
|
||||||
|
|
||||||
# Mise en place du .bash_profile pour tout configurer lors du `vagrant ssh`
|
# Mise en place du .bash_profile pour tout configurer lors du `vagrant ssh`
|
||||||
cat > ~vagrant/.bash_profile <<EOF
|
cat >> ~ubuntu/.bashrc <<EOF
|
||||||
# On utilise la version de développement de GestioCOF
|
# On utilise la version de développement de GestioCOF
|
||||||
export DJANGO_SETTINGS_MODULE='cof.settings_dev'
|
export DJANGO_SETTINGS_MODULE='cof.settings_dev'
|
||||||
|
|
||||||
|
@ -45,25 +45,29 @@ export DBPASSWD="$DBPASSWD"
|
||||||
# Permet d'utiliser les utilitaires pythons locaux
|
# Permet d'utiliser les utilitaires pythons locaux
|
||||||
export PATH="\$PATH:\$HOME/.local/bin"
|
export PATH="\$PATH:\$HOME/.local/bin"
|
||||||
|
|
||||||
|
# Charge le virtualenv
|
||||||
|
source ~/venv/bin/activate
|
||||||
|
|
||||||
# On va dans /vagrant où se trouve le code de gestioCOF
|
# On va dans /vagrant où se trouve le code de gestioCOF
|
||||||
cd /vagrant
|
cd /vagrant
|
||||||
EOF
|
EOF
|
||||||
chown vagrant: ~vagrant/.bash_profile
|
|
||||||
|
|
||||||
# On va dans /vagrant où se trouve gestioCOF
|
# On va dans /vagrant où se trouve gestioCOF
|
||||||
cd /vagrant
|
cd /vagrant
|
||||||
|
|
||||||
# Installation des dépendances python
|
# Installation du virtualenv, on utilise désormais python3
|
||||||
sudo -H -u vagrant pip install --user -r requirements.txt -r requirements-devel.txt
|
sudo -H -u ubuntu python3 -m venv ~ubuntu/venv
|
||||||
|
sudo -H -u ubuntu ~ubuntu/venv/bin/pip install -U pip
|
||||||
|
sudo -H -u ubuntu ~ubuntu/venv/bin/pip install -r requirements.txt -r requirements-devel.txt
|
||||||
|
|
||||||
# Préparation de Django
|
# Préparation de Django
|
||||||
sudo -H -u vagrant DJANGO_SETTINGS_MODULE='cof.settings_dev' DBUSER=$DBUSER DBNAME=$DBNAME DBPASSWD=$DBPASSWD sh provisioning/prepare_django.sh
|
sudo -H -u ubuntu DJANGO_SETTINGS_MODULE='cof.settings_dev' DBUSER=$DBUSER DBNAME=$DBNAME DBPASSWD=$DBPASSWD bash provisioning/prepare_django.sh
|
||||||
|
|
||||||
# Installation du cron pour les mails de rappels
|
# Installation du cron pour les mails de rappels
|
||||||
sudo -H -u vagrant crontab provisioning/cron.dev
|
sudo -H -u ubuntu crontab provisioning/cron.dev
|
||||||
|
|
||||||
# On installe Daphne et on demande à supervisor de le lancer
|
# On installe Daphne et on demande à supervisor de le lancer
|
||||||
pip install daphne
|
sudo -H -u ubuntu ~ubuntu/venv/bin/pip install daphne
|
||||||
apt-get install -y supervisor
|
apt-get install -y supervisor
|
||||||
cp /vagrant/provisioning/supervisor.conf /etc/supervisor/conf.d/gestiocof.conf
|
cp /vagrant/provisioning/supervisor.conf /etc/supervisor/conf.d/gestiocof.conf
|
||||||
sed "s/{DBUSER}/$DBUSER/" -i /etc/supervisor/conf.d/gestiocof.conf
|
sed "s/{DBUSER}/$DBUSER/" -i /etc/supervisor/conf.d/gestiocof.conf
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
|
#!/bin/bash
|
||||||
# Doit être lancé par bootstrap.sh
|
# Doit être lancé par bootstrap.sh
|
||||||
|
|
||||||
|
source ~/venv/bin/activate
|
||||||
python manage.py migrate
|
python manage.py migrate
|
||||||
python manage.py loaddata users root bda gestion sites
|
python manage.py loaddata users root bda gestion sites
|
||||||
python manage.py collectstatic --noinput
|
python manage.py collectstatic --noinput
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
[program:worker]
|
[program:worker]
|
||||||
command=/usr/bin/python /vagrant/manage.py runworker
|
command=/home/ubuntu/venv/bin/python /vagrant/manage.py runworker
|
||||||
directory=/vagrant/
|
directory=/vagrant/
|
||||||
user=vagrant
|
user=ubuntu
|
||||||
environment=DBUSER={DBUSER},DBNAME={DBNAME},DBPASSWD={DBPASSWD},DJANGO_SETTINGS_MODULE="cof.settings_dev"
|
environment=DBUSER={DBUSER},DBNAME={DBNAME},DBPASSWD={DBPASSWD},DJANGO_SETTINGS_MODULE="cof.settings_dev"
|
||||||
autostart=true
|
autostart=true
|
||||||
autorestart=true
|
autorestart=true
|
||||||
|
@ -10,11 +10,11 @@ stopasgroup=true
|
||||||
redirect_stderr=true
|
redirect_stderr=true
|
||||||
|
|
||||||
[program:interface]
|
[program:interface]
|
||||||
command=/usr/local/bin/daphne -b 127.0.0.1 -p 8001 cof.asgi:channel_layer
|
command=/home/ubuntu/venv/bin/daphne -b 127.0.0.1 -p 8001 cof.asgi:channel_layer
|
||||||
environment=DBUSER={DBUSER},DBNAME={DBNAME},DBPASSWD={DBPASSWD},DJANGO_SETTINGS_MODULE="cof.settings_dev"
|
environment=DBUSER={DBUSER},DBNAME={DBNAME},DBPASSWD={DBPASSWD},DJANGO_SETTINGS_MODULE="cof.settings_dev"
|
||||||
directory=/vagrant/
|
directory=/vagrant/
|
||||||
redirect_stderr=true
|
redirect_stderr=true
|
||||||
autostart=true
|
autostart=true
|
||||||
autorestart=true
|
autorestart=true
|
||||||
stopasgroup=true
|
stopasgroup=true
|
||||||
user=vagrant
|
user=ubuntu
|
||||||
|
|
Loading…
Reference in a new issue