modifs discussion
[auf_skeleton_django.git] / bin / deploy
CommitLineData
73d714db
OL
1#! /bin/bash
2
3ROOT_PATH=.
7adc7f71 4PROJECT_NAME="{{ project_name }}"
aeef52dd 5PRODUCTION="production"
7adc7f71 6
aeef52dd
OL
7################################################################################
8# Prerequis pour le fonctionnement du script
9################################################################################
73d714db 10if [ ! -e "$ROOT_PATH/README.rst" ]; then
7adc7f71 11 echo "Placez vous a la racine du projet."
73d714db
OL
12 exit -1
13fi
14
15
aeef52dd
OL
16################################################################################
17# Selection de la configuration
18################################################################################
73d714db
OL
19BUILD=$1
20if [ "$BUILD" = "" ]; then
aeef52dd 21 BUILD=$PRODUCTION
73d714db
OL
22fi
23REQUIREMENTS=$ROOT_PATH/requirements/$BUILD.txt
7adc7f71 24SETTINGS=$PROJECT_NAME.settings.$BUILD
73d714db
OL
25
26
aeef52dd
OL
27################################################################################
28# VCS
29################################################################################
30if [ "$BUILD" = "$PRODUCTION" ]; then
31 echo "Commandes du VCS"
cc46cdfb
OL
32 GIT_CLEAN="# On branch master
33nothing to commit (working directory clean)"
aeef52dd
OL
34 GIT_STATUS=`git status`
35 if [ "$GIT_STATUS" != "$GIT_CLEAN" ]; then
36 echo "Le depot local n'est pas dans un etat acceptable pour deployer"
37 exit -1
38 fi
39fi
40
41
42################################################################################
43# Tests concerant la configuration
44################################################################################
45if [ ! -e "$ROOT_PATH/conf.py" ]; then
46 echo "Il n'y a pas le fichier conf.py a la racine du projet."
47 exit -1
48fi
49
50DIFF=`diff -y conf.py.edit conf.py | grep '<' | colordiff`
51if [ "$DIFF" != "" ]; then
52 echo 'Ajuster le conf.py'
53 diff -y conf.py.edit conf.py | grep '<' | colordiff
54 exit -1
55fi
56
57################################################################################
58# Preparation de l'environnement
59################################################################################
73d714db
OL
60VENV_PATH=$ROOT_PATH/.virtualenv
61if [ -e "$VENV_PATH" ]; then
7adc7f71 62 echo "l'environnement virtuel existe deja."
73d714db 63else
7adc7f71 64 echo "Creation de l'environnement virtuel."
e5cceae7 65 virtualenv $VENV_PATH
73d714db
OL
66 rm -f distribute*.tar.gz
67fi
68
7adc7f71 69echo "Installation des dependances."
aeef52dd
OL
70echo $VENV_PATH/bin/pip
71$VENV_PATH/bin/pip install -r $REQUIREMENTS
72
73if [ "$BUILD" != "$PRODUCTION" ]; then
74 exit -1
75fi
73d714db 76
aeef52dd
OL
77################################################################################
78# Preparation du projet (en production uniquement)
79################################################################################
73d714db 80echo "Commandes Django"
aeef52dd 81echo "settings: " $SETTINGS
73d714db
OL
82$ROOT_PATH/bin/django syncdb --settings=$SETTINGS --noinput
83$ROOT_PATH/bin/django migrate --settings=$SETTINGS --noinput
84$ROOT_PATH/bin/django collectstatic --settings=$SETTINGS --noinput
aeef52dd
OL
85
86