Subversion Repositories eFlore/Applications.coel

Rev

Rev 1415 | Rev 1500 | Go to most recent revision | Only display areas with differences | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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