Subversion Repositories Applications.gtt

Compare Revisions

No changes between revisions

Ignore whitespace Rev 169 → Rev 170

/trunk/scripts/config.defaut.sh
New file
0,0 → 1,13
# configuration de clonegtt
 
# base dans laquelle seront creees les instances de GTT
BDD_HOTE="localhost"
BDD_BASE=""
BDD_LOGIN=""
BDD_MDP=""
 
# chemin des executables MySQL (dossier "bin")
CHEMIN_MYSQL="/usr/local/mysql/bin"
 
# prefixe des tables depuis lesquelles copier les donnees (ex: "gtt_2016_")
BDD_SOURCE_PREFIXE=""
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/trunk/scripts/clonegtt.sh
New file
0,0 → 1,104
#!/bin/bash
 
# Crée une instance de GTT pour l'année à venir.
#
# Nécessite de remplir config.sh à partir de config.defaut.sh.
# Si un fichier "htaccess" est présent, il sera renommé en ".htaccess" dans le
# dossier de destination de la nouvelle instance
#
# Utilisation :
# ./clonegtt.sh 2016 trunk clonebdd
#
# Mathias - 2015-12-23
 
# ligne magique trouvee sur http://stackoverflow.com/questions/59895/can-a-bash-script-tell-what-directory-its-stored-in
SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
 
SCRIPTNAME=`basename "$0"`
 
# date du jour
DATE=`date +%Y-%m-%d`
 
# chargement de la config
. "$SCRIPTDIR/config.sh"
 
function notice {
echo "Utilisation: $SCRIPTNAME annee branche [clonebdd]"
echo " annee: cree une instance de GTT pour l'annee fournie (ex: 2016), dans un nouveau dossier correspondant"
echo " branche: utilise une branche particuliere du SVN (ex: trunk, branches/v1.2-democrite)"
echo " clonebdd (optionnel): si mentionne, copiera les donnees (utilisateurs, projets, categories) de l'installation, dont le prefixe est specifie dans config.sh"
echo "Exemples:"
echo " $SCRIPTNAME 2016 trunk clonebdd"
echo " $SCRIPTNAME 2016 branches/v1.2-democrite"
}
 
function copie_table {
REQ="TRUNCATE ${PREFIXE}$1; INSERT INTO ${PREFIXE}$1 SELECT * FROM ${BDD_SOURCEPREFIXE}$1;"
#echo "$REQ"
CMD="$CHEMIN_MYSQL/mysql -h$BDD_HOTE -u$BDD_LOGIN -p$BDD_MDP -e \"$REQ\" $BDD_BASE"
eval "$CMD"
}
 
function clone_gtt {
ANNEE="$1"
PREFIXE="gtt_${ANNEE}_"
 
echo "deploiement d'une instance de GTT pour l'ANNEE [$ANNEE]"
 
# copie du code
dossier_svn="trunk"
if [ "$#" -gt 1 ]; then
echo "recuperation de la branche [$2]";
dossier_svn="$2"
else
echo "recuperation du [trunk]"
fi
svn co "http://svn.tela-botanica.net/svn/applications/gtt/$dossier_svn" "$ANNEE"
 
# copie du .htaccess
if [ -e "$SCRIPTDIR/htaccess" ]; then
echo "copie du .htaccess de reference"
cp "$SCRIPTDIR/htaccess" "$ANNEE/.htaccess"
fi
 
# creation de la config
echo "creation de la config"
echo "<?php
// cree par clonegtt le $DATE
define('GTT_BDD_NOM', '$BDD_BASE');
define('GTT_BDD_DSN', 'mysql://$BDD_LOGIN:$BDD_MDP@$BDD_HOTE/'.GTT_BDD_NOM);
define('GTT_BDD_PREFIXE', '$PREFIXE');
define('GTT_DEBOGAGE', false);
define('GTT_DEBOGAGE_SQL', false);
?>" > "$ANNEE/config.inc.php"
 
# modification des fichiers .sql pour ajouter le prefixe, et insertion dans la base
# "sort" sert a s'assurer que "installation" est execute avant "maj" @WARNING bancal comme systeme !
find "$ANNEE/documentation" -name "*.sql" | sort | while read line; do
echo "Insertion de $line"
sed "s/gestion_/${PREFIXE}gestion_/" "$line" > "${line}_${ANNEE}.sql"
CMD="$CHEMIN_MYSQL/mysql -h$BDD_HOTE -u$BDD_LOGIN -p$BDD_MDP $BDD_BASE < ${line}_${ANNEE}.sql"
eval $CMD
rm "${line}_${ANNEE}.sql"
done
 
# copie de l'ancienne base vers la nouvelle (configurer)
if [ "$#" -gt 2 ]; then
if [ "$3" = "clonebdd" ]; then
echo "clonage de la base precedente (prefixe [$BDD_SOURCE_PREFIXE])"
# copies SQL des tables a recuperer
copie_table "gestion_absence_motif"
copie_table "gestion_projet"
copie_table "gestion_projet_categorie"
copie_table "gestion_utilisateur"
copie_table "gestion_utilisateur_a_projet"
copie_table "gestion_utilisateur_statut"
fi
fi
}
 
if [ "$#" -lt 1 ]; then
notice
else
clone_gtt $@
fi
Property changes:
Added: svn:executable
+*
\ No newline at end of property
/trunk/scripts/htaccess.exemple
New file
0,0 → 1,3
# exemple de .htaccess pour Tela Botanica / Sequoia (2015)
AddHandler x-httpd-php5 .php
AddDefaultCharset UTF-8