| 1146 | jpm | 1 | #!/bin/bash
 | 
        
           |  |  | 2 | ########################################################################################################################
 | 
        
           |  |  | 3 | # But : mise en ligne automatique sur le serveur par ftp, de la dernière version de COEL
 | 
        
           |  |  | 4 | # Auteur :  Jean-Pascal Milcent <jpm@tela-botanica.org> (translate bat file to shell script)
 | 
        
           |  |  | 5 | # License : GPL v3
 | 
        
           |  |  | 6 | # Création : 11 janvier 2010
 | 
        
           | 1553 | jpm | 7 | # Version: 0.2
 | 
        
           |  |  | 8 | # 2010-09-13 - Ajout de la création du nom de l'appli automatique.
 | 
        
           | 1146 | jpm | 9 | # $Id$
 | 
        
           |  |  | 10 | ########################################################################################################################
 | 
        
           |  |  | 11 | # Constante
 | 
        
           | 1553 | jpm | 12 | NBREPARAM=$#
 | 
        
           | 1146 | jpm | 13 | APPDIR=`dirname $0`;
 | 
        
           | 1417 | jpm | 14 | APPDIR_ABSOLU=`pwd`;
 | 
        
           | 1553 | jpm | 15 | APPLI_NOM=`basename $APPDIR_ABSOLU | sed 's/^./\u&/'`
 | 
        
           |  |  | 16 | FICHIER_COMPILATION="$APPLI_NOM-compile-prod"
 | 
        
           | 1146 | jpm | 17 | DOSSIER_COMPILATION="$APPDIR/war"
 | 
        
           |  |  | 18 | DOSSIER_DESTINATION="/www/eflore/coel"
 | 
        
           | 1500 | jpm | 19 | DOSSIER_JREST="$APPDIR/jrest"
 | 
        
           | 1146 | jpm | 20 | DOSSIER_JREST_DESTINATION="/www/eflore/coel/jrest"
 | 
        
           |  |  | 21 | APPLI_SERVICE_BASE_URL="http://www.tela-botanica.org/eflore/coel/jrest/"
 | 
        
           |  |  | 22 |   | 
        
           |  |  | 23 | # Aide
 | 
        
           |  |  | 24 | E_OPTERR=65
 | 
        
           |  |  | 25 | if [ "$1" = '--help' ]
 | 
        
           |  |  | 26 | then # Le script a besoin d'au moins un argument sur la ligne de commande
 | 
        
           |  |  | 27 | 	echo "Usage $0 -[parameters -u, -p ]"
 | 
        
           |  |  | 28 | 	echo "Paramétres : "
 | 
        
           |  |  | 29 | 	echo "	-h: indiquer l'hote ftp"
 | 
        
           |  |  | 30 | 	echo "	-u: indiquer le nom de l'utilisateur ftp"
 | 
        
           |  |  | 31 | 	echo "	-p: indiquer le mot de passe de l'utilisateur ftp"
 | 
        
           |  |  | 32 | 	exit $E_OPTERR
 | 
        
           |  |  | 33 | fi
 | 
        
           |  |  | 34 |   | 
        
           |  |  | 35 | # Récupération des paramètres et des options de la ligne de commande
 | 
        
           |  |  | 36 | TEMP=`getopt -o u:p:h: -l help: -- "$@"`
 | 
        
           |  |  | 37 | if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
 | 
        
           |  |  | 38 | eval set -- "$TEMP"
 | 
        
           |  |  | 39 | while [ ! -z "$1" ] ; do
 | 
        
           |  |  | 40 | 	#echo $1" # "$2
 | 
        
           |  |  | 41 | 	case "$1" in
 | 
        
           |  |  | 42 | 		-h) HOST=$2;;
 | 
        
           |  |  | 43 | 		-u) FTP_USER=$2;;
 | 
        
           |  |  | 44 | 		-p) FTP_PASSWD=$2;;
 | 
        
           |  |  | 45 | 		--) shift ; break ;;
 | 
        
           |  |  | 46 | 		*) echo "Internal error!" ; exit 1 ;;
 | 
        
           |  |  | 47 | 	esac
 | 
        
           |  |  | 48 | 	shift 2
 | 
        
           |  |  | 49 | done
 | 
        
           |  |  | 50 |   | 
        
           |  |  | 51 | # Nous devons être dans le dossier de ce script pour que tout fonctionne
 | 
        
           |  |  | 52 | echo "Vérification que tout est en place pour la mise en ligne : ";
 | 
        
           |  |  | 53 | if [ -d $DOSSIER_COMPILATION ]; then
 | 
        
           |  |  | 54 | 	echo "OK : dossier de compilation '$DOSSIER_COMPILATION' existe";
 | 
        
           |  |  | 55 | else
 | 
        
           |  |  | 56 | 	echo "KO : dossier de compilation '$DOSSIER_COMPILATION' inexistant!";
 | 
        
           |  |  | 57 | fi;
 | 
        
           |  |  | 58 | if [ -f ./$FICHIER_COMPILATION ]; then
 | 
        
           |  |  | 59 | 	echo "OK : fichier de compilation $FICHIER_COMPILATION existe";
 | 
        
           |  |  | 60 | else
 | 
        
           |  |  | 61 | 	echo "KO : fichier de compilation $FICHIER_COMPILATION inexistant!";
 | 
        
           |  |  | 62 | fi;
 | 
        
           |  |  | 63 |   | 
        
           | 1417 | jpm | 64 | # Transfert sur le serveur par FTP
 | 
        
           | 1146 | jpm | 65 | if [ $NBREPARAM -eq 0 ]; then
 | 
        
           |  |  | 66 | 	echo "Pas de transfert sur le serveur. Utiliser --help pour voir les options de transfert."
 | 
        
           |  |  | 67 | else
 | 
        
           | 1152 | jpm | 68 | 	echo "Compilation de l'application : ";
 | 
        
           | 1184 | jpm | 69 | 	./$FICHIER_COMPILATION
 | 
        
           | 1152 | jpm | 70 |   | 
        
           |  |  | 71 | 	echo "Transfert sur le serveur de l'application :";
 | 
        
           | 1153 | jpm | 72 | 	lftp ftp://$FTP_USER:$FTP_PASSWD@$HOST -e "set ftp:passive off; mirror -e -R -L -x .svn -x WEB-INF -x .htaccess -x config.js -x jrest $DOSSIER_COMPILATION $DOSSIER_DESTINATION ; quit"
 | 
        
           | 1152 | jpm | 73 |   | 
        
           |  |  | 74 | 	echo "Transfert sur le serveur de Jrest :";
 | 
        
           | 1146 | jpm | 75 | 	lftp ftp://$FTP_USER:$FTP_PASSWD@$HOST -e "set ftp:passive off; mirror -e -R -x .svn -x jrest.ini.php -x .htaccess -x .project -x .buildpath -x .settings $DOSSIER_JREST $DOSSIER_JREST_DESTINATION ; quit"
 | 
        
           | 1152 | jpm | 76 | fi;
 |