forked from DGNum/gestioCOF
Ajoute un environnement de développement
Ce commit ajoute une configuration Vagrant permettant d'avoir un environnement de développement facile à installer et réutilisable (cf README.md). En particulier : - Vagrantfile est un fichier qui décrit une machine virtuelle Vagrant. La configuration est assez proche des défauts, et n'introduit que deux différences : les ports 8000 et 80 sont bindés sur les ports 8000 et 8080 (respectivement) sur la machine hôte, et le script `provisioning/bootstrap.sh` est utilisé pour configurer une nouvelle machine virtuelle. - provisioning/bootstrap.sh est un script shell qui s'occupe d'installer les paquets nécessaire et de configurer la machine virtuelle pour que GestioCOF fonctionne. - cof/settings_dev.py est un fichier de configuration minimal permettant de faire fonctionner GestioCOF, configuré pour être utilisé avec Vagrant mais facilement adaptable.
This commit is contained in:
parent
23d63b3376
commit
1bd92f7ff7
6 changed files with 338 additions and 2 deletions
48
provisioning/bootstrap.sh
Normal file
48
provisioning/bootstrap.sh
Normal file
|
@ -0,0 +1,48 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Configuration de la base de données. Le mot de passe est constant car c'est
|
||||
# pour une installation de dév locale qui ne sera accessible que depuis la
|
||||
# machine virtuelle.
|
||||
DBUSER="cof_gestion"
|
||||
DBNAME="cof_gestion"
|
||||
DBPASSWD="4KZt3nGPLVeWSvtBZPSM3fSzXpzEU4"
|
||||
|
||||
# Installation de paquets utiles
|
||||
apt-get update && apt-get install -y mercurial python-pip python-dev libmysqlclient-dev
|
||||
|
||||
# Configuration et installation de mysql. Le mot de passe root est le même que
|
||||
# le mot de passe pour l'utilisateur local - pour rappel, ceci est une instance
|
||||
# locale de développement.
|
||||
echo "mysql-server mysql-server/root_password password $DBPASSWD" | debconf-set-selections
|
||||
echo "mysql-server mysql-server/root_password_again password $DBPASSWD" | debconf-set-selections
|
||||
|
||||
apt-get install -y mysql-server
|
||||
|
||||
mysql -uroot -p$DBPASSWD -e "CREATE DATABASE $DBNAME; GRANT ALL PRIVILEGES ON $DBNAME.* TO '$DBUSER'@'localhost' IDENTIFIED BY '$DBPASSWD'"
|
||||
|
||||
# Mise en place du .bash_profile pour tout configurer lors du `vagrant ssh`
|
||||
cat > ~vagrant/.bash_profile <<EOF
|
||||
# On utilise la version de développement de GestioCOF
|
||||
export DJANGO_SETTINGS_MODULE='cof.settings_dev'
|
||||
|
||||
# Identifiants MySQL
|
||||
export DBUSER="$DBUSER"
|
||||
export DBNAME="$DBNAME"
|
||||
export DBPASSWD="$DBPASSWD"
|
||||
|
||||
# Permet d'utiliser les utilitaires pythons locaux
|
||||
export PATH="\$PATH:\$HOME/.local/bin"
|
||||
|
||||
# On va dans /vagrant où se trouve le code de gestioCOF
|
||||
cd /vagrant
|
||||
EOF
|
||||
chown vagrant: ~vagrant/.bash_profile
|
||||
|
||||
# On va dans /vagrant où se trouve gestioCOF
|
||||
cd /vagrant
|
||||
|
||||
# Installation des dépendances python
|
||||
sudo -H -u vagrant pip install --user -r requirements.txt -r requirements-devel.txt
|
||||
|
||||
# Préparation de Django
|
||||
sudo -H -u vagrant DBUSER=$DBUSER DBNAME=$DBNAME DBPASSWD=$DBPASSWD python manage.py migrate
|
Loading…
Add table
Add a link
Reference in a new issue