modifs discussion
authorOlivier Larchevêque <olivier.larcheveque@auf.org>
Mon, 23 Sep 2013 16:01:05 +0000 (12:01 -0400)
committerOlivier Larchevêque <olivier.larcheveque@auf.org>
Mon, 23 Sep 2013 16:01:05 +0000 (12:01 -0400)
.gitignore
bin/deploy
conf.py [deleted file]
conf.py.edit [new file with mode: 0644]
media/README.rst [new file with mode: 0644]
sitestatic/README.rst [new file with mode: 0644]

index cd308e8..d04b9a9 100644 (file)
@@ -11,5 +11,8 @@
 .virtualenv
 
 conf.py
-media
-sitestatic
+media/*
+sitestatic/*
+
+!media/README.rst
+!sitestatic/README.rst
index 8eaf77c..3f830f3 100755 (executable)
@@ -2,21 +2,60 @@
 
 ROOT_PATH=.
 PROJECT_NAME="{{ project_name }}"
+PRODUCTION="production"
 
+################################################################################
+# Prerequis pour le fonctionnement du script
+################################################################################
 if [ ! -e "$ROOT_PATH/README.rst" ]; then
     echo "Placez vous a la racine du projet."
     exit -1
 fi
 
 
+################################################################################
+# Selection de la configuration
+################################################################################
 BUILD=$1
 if [ "$BUILD" = "" ]; then
-    BUILD='production'
+    BUILD=$PRODUCTION
 fi
 REQUIREMENTS=$ROOT_PATH/requirements/$BUILD.txt
 SETTINGS=$PROJECT_NAME.settings.$BUILD
 
 
+################################################################################
+# VCS
+################################################################################
+if [ "$BUILD" = "$PRODUCTION" ]; then
+    echo "Commandes du VCS"
+    GIT_CLEAN="# On branch master nothing to commit (working directory clean)"
+    GIT_STATUS=`git status`
+    if [ "$GIT_STATUS" != "$GIT_CLEAN" ]; then
+        echo "Le depot local n'est pas dans un etat acceptable pour deployer"
+        exit -1
+    fi
+fi
+
+
+################################################################################
+# Tests concerant la configuration
+################################################################################
+if [ ! -e "$ROOT_PATH/conf.py" ]; then
+    echo "Il n'y a pas le fichier conf.py a la racine du projet."
+    exit -1
+fi
+
+DIFF=`diff -y conf.py.edit conf.py | grep '<' | colordiff`
+if [ "$DIFF" != "" ]; then
+    echo 'Ajuster le conf.py'
+    diff -y conf.py.edit conf.py | grep '<' | colordiff
+    exit -1
+fi
+
+################################################################################
+# Preparation de l'environnement
+################################################################################
 VENV_PATH=$ROOT_PATH/.virtualenv
 if [ -e "$VENV_PATH" ]; then
     echo "l'environnement virtuel existe deja."
@@ -26,15 +65,21 @@ else
     rm -f distribute*.tar.gz
 fi
 
-echo "Activation de l'environnement virtuel."
-source $VENV_PATH/bin/activate
-which python
-
-
 echo "Installation des dependances."
-pip install -r $REQUIREMENTS
+echo $VENV_PATH/bin/pip
+$VENV_PATH/bin/pip install -r $REQUIREMENTS
+
+if [ "$BUILD" != "$PRODUCTION" ]; then
+    exit -1
+fi
 
+################################################################################
+# Preparation du projet (en production uniquement)
+################################################################################
 echo "Commandes Django"
+echo "settings: " $SETTINGS
 $ROOT_PATH/bin/django syncdb --settings=$SETTINGS --noinput
 $ROOT_PATH/bin/django migrate --settings=$SETTINGS --noinput
 $ROOT_PATH/bin/django collectstatic --settings=$SETTINGS --noinput
+
+
diff --git a/conf.py b/conf.py
deleted file mode 100644 (file)
index f82ab88..0000000
--- a/conf.py
+++ /dev/null
@@ -1,21 +0,0 @@
-# -*- encoding: utf-8 -*-
-
-DATABASES = {
-    'default': {
-        # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
-        'ENGINE': 'django.db.backends.sqlite3',
-        'NAME': 'db.sqlite',
-        'USER': '',
-        'PASSWORD': '',
-        'HOST': '',
-        'PORT': '',
-    }
-}
-
-SECRET_KEY = ''
-
-PIWIK_TOKEN = ''  # numéro du projet
-
-RAVEN_CONFIG = {
-    'dsn': '',
-}
diff --git a/conf.py.edit b/conf.py.edit
new file mode 100644 (file)
index 0000000..83a0a0a
--- /dev/null
@@ -0,0 +1,23 @@
+# -*- encoding: utf-8 -*-
+
+DATABASES = {
+    'default': {
+        # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
+        'ENGINE': 'django.db.backends.sqlite3',
+        'NAME': 'db.sqlite',
+        'USER': '',
+        'PASSWORD': '',
+        'HOST': '',
+        'PORT': '',
+    }
+}
+
+SECRET_KEY = ''
+
+PIWIK_TOKEN = ''  # numéro du projet
+
+RAVEN_CONFIG = {
+    'dsn': '',
+}
+
+XXX = ''
diff --git a/media/README.rst b/media/README.rst
new file mode 100644 (file)
index 0000000..9bc4b02
--- /dev/null
@@ -0,0 +1,9 @@
+Important
+=========
+
+* Fichiers statiques directement servi par le frontal Web, pas de contrôle d'accès
+
+* Racine du répertoire d'upload public
+
+* Ce répertoire doit disposer des droits d'écritures pour l'utilisateur qui
+  exécute les scripts Python. 
diff --git a/sitestatic/README.rst b/sitestatic/README.rst
new file mode 100644 (file)
index 0000000..733ee2f
--- /dev/null
@@ -0,0 +1,9 @@
+Important
+=========
+
+* Ne rien commiter dans ce répertoire
+
+* Fichiers statiques directement servi par le frontal Web, pas de contrôle d'accès
+
+* Les fichiers seront automatiquement déplacés dans ce répertoire avec la
+  commande 'collectstatic' de Django.