-
Notifications
You must be signed in to change notification settings - Fork 14
/
upgradeVelobs.sh
96 lines (76 loc) · 5.26 KB
/
upgradeVelobs.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
#!/bin/bash
#Script de mise à jour de velobs.
#besoin d'un répertoire contenant les sources à passer en production
#copie les fichiers d'intérêts pour la production (key.php et key.js + répertoire resources/pictures) dans le répertoire des sources à paser en production
#renomme le dossier de production en le suffixant avec un timestamp
#renomme le dossier des sources à passer en production avec le nom du répertoire de production
defaultVersion=V1_5_2
echo "$(tput setaf 1)Ce script doit se trouver au même niveau que les répertoires source de velobs, de production comme la version à mettre en production. Si ce n'est pas le cas, veuillez quitter et déplacer ce script et le répertoire contenant la nouvelle version de velobs au même niveau que le répertoire de velobs en production SVP.$(tput sgr 0)"
echo ""
echo -n "$(tput setaf 2)Nom du répertoire contenant les sources de velobs à passer en production? $(tput sgr 0)"
read velobsDev
echo -n "$(tput setaf 2)Nom du répertoire contenant les sources de velobs actuellement en production? $(tput sgr 0)"
read velobsProd
echo -n "$(tput setaf 2)Version de VelObs qui sera passée en production - défaut $defaultVersion? $(tput sgr 0)"
read velobsVersion
if [ -z $velobsVersion ]
then
echo "$(tput setaf 1)La version n'a pas été spécifiée, on utilise la valeur par défaut $defaultVersion$(tput sgr 0)"
velobsVersion=$defaultVersion
fi
timestamp=$(date +%s)
if [ -z $velobsDev ]
then
echo "$(tput setaf 1)Le répertoire des sources à mettre en production n'a pas été spécifié, on sort$(tput sgr 0)"
exit
fi
if [ ! -d $velobsDev ]
then
echo "$(tput setaf 1)"$velobsDev " n'existe pas, on sort$(tput sgr 0)"
exit
fi
phpKeyVelobsDev=$velobsDev"/lib/php/key.php"
jsKeyVelobsDev=$velobsDev"/lib/js/key.js"
if [ -e $phpKeyVelobsDev ]
then
echo "$(tput setaf 1)Le fichier "$phpKeyVelobsDev" existe dans les sources de la nouvelle version de velobs. Etes-vous sûr(e) de ne pas avoir inversé les noms des répertoires? Dans le doute, on ne fait rien et on annule la mise à jour. Veuillez supprimer le fichier "$phpKeyVelobsDev" avant de recommencer la mise à jour SVP.$(tput sgr 0)"
exit
fi
if [ -e $jsKeyVelobsDev ]
then
echo "$(tput setaf 1)Le fichier "$jsKeyVelobsDev" existe dans les sources de la nouvelle version de velobs. Etes-vous sûr(e) de ne pas avoir inversé les noms des répertoires? Dans le doute, on ne fait rien et on annule la mise à jour. Veuillez supprimer le fichier "$jsKeyVelobsDev" avant de recommencer la mise à jour SVP.$(tput sgr 0)"
exit
fi
if [ ! -d $velobsProd ]
then
echo "$(tput setaf 1)"$velobsProd " n'existe pas, on sort$(tput sgr 0)"
exit
fi
echo "$(tput setaf 4)Toutes les conditions semblent réunies pour passer la nouvelle version de velobs en production$(tput sgr 0)"
echo "Copie des photos de "$velobsProd"/resources/pictures/ dans "$velobsDev"/resources/"
cp -r $velobsProd/resources/pictures/ $velobsDev/resources/
echo "Copie des logos de "$velobsProd"/resources/images/ dans "$velobsDev"/resources/"
cp -rf $velobsProd/resources/images/ $velobsDev/resources/
echo "Copie des icones de "$velobsProd"/resources/icon/marker dans "$velobsDev"/resources/icon/"
cp -rf $velobsProd/resources/icon/marker/ $velobsDev/resources/icon/
echo "Copie du css des marker de "$velobsProd"/resources/css/iconmarker.css dans "$velobsDev"/resources/css/"
cp -rf $velobsProd/resources/css/iconmarker.css $velobsDev/resources/css/
echo "Copie de "$velobsProd"/lib/php/key.php dans "$velobsDev"/lib/php/"
cp $velobsProd/lib/php/key.php $velobsDev/lib/php/
echo "Copie de "$velobsProd"/lib/js/key.js dans "$velobsDev"/lib/js/"
cp $velobsProd/lib/js/key.js $velobsDev/lib/js/
echo -n "$(tput setaf 2)Merci de modifier "$velobsDev"/lib/js/key.js et "$velobsDev"/lib/php/key.php si nécessaire pour être raccord avec le contenu de "$velobsDev"/lib/js/key.js.template et "$velobsDev"/lib/php/key.php.template (dans le cas où des clés auraient été ajoutées ou modifiées). Appuyez sur une touche quand vous avez fait les éventuelles modifications$(tput sgr 0)"
read
echo "Application des droits d'écriture sur le répertoire de sortie où sont générés les fichiers csv d'export de velobs : chmod 775 "$velobsDev"/resources/csv "$velobsDev"/resources/pictures"
chmod -R 775 $velobsDev/resources/csv $velobsDev/resources/pictures $velobsDev/resources/icon/marker $velobsDev/resources/css
echo "switch des version de velobs pour le passage en production : mv $velobsProd $velobsProd$timestamp; mv $velobsDev $velobsProd"
mv $velobsProd $velobsProd.$timestamp;mv $velobsDev $velobsProd
PHP=`which php`
if [ -e $velobsProd/resources/upgrade/upgradeSQL-$velobsVersion.php ]
then
echo "Connectez-vous maintenant en tant qu'administrateur sur l'interface de velobs et accédez à la page URL_VelObs/resources/upgrade/upgradeSQL-$velobsVersion.php pour mettre à jour la base de données."
echo "Vérifiez bien que la mise à jour se passe correctement."
echo "$(tput setaf 5)Une fois ce script exécuté, la nouvelle version de velobs sera complètement installée. Merci de la tester SVP.$(tput sgr 0)"
else
echo "$(tput setaf 5)La nouvelle version de velobs est complètement installée. Merci de la tester SVP.$(tput sgr 0)"
fi