Subversion Repositories eFlore/Applications.coel

Rev

Rev 1500 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
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;