Commit d757ce229ddb398d96a07316ad8d78cd18a3fed2
1 parent
dd5f7fee
Exists in
master
and in
1 other branch
Amélioration script UPDATE
Ajout de la mise à jour auto des plugins php (dans vendor/)
Showing
2 changed files
with
82 additions
and
37 deletions
Show diff stats
install/installation.sh
... | ... | @@ -7,24 +7,16 @@ INSTALL_DATA_IRAP=1 |
7 | 7 | |
8 | 8 | # Le script peut-il continuer et créer les fichiers qui lui sont nécessaires ? |
9 | 9 | access_path=`dirname $0` |
10 | -echo | |
11 | -if [ -r "$access_path" ]; then | |
12 | - if [ -w "$access_path" ]; then | |
13 | - if [ -x "$access_path" ]; then | |
14 | - echo "Vous avez les droits suffisants sur ce repertoire pour exécuter ce script" | |
15 | - else | |
16 | - echo "Veuillez relancer le script en root" | |
17 | - exit 1 | |
18 | - fi | |
19 | - else | |
20 | - echo "Veuillez relancer le script en root" | |
21 | - exit 1 | |
22 | - fi | |
10 | +access_path="toto" | |
11 | +echo $access_path | |
12 | +if [[ -r "$access_path" && -w "$access_path" && -x "$access_path" ]]; then | |
13 | + echo "Vous avez les droits suffisants sur ce repertoire pour exécuter ce script" | |
23 | 14 | else |
24 | - echo "Veuillez relancer le script en root" | |
15 | + echo "Veuillez relancer le script en tant que root" | |
25 | 16 | exit 1 |
26 | 17 | fi |
27 | 18 | |
19 | + | |
28 | 20 | # Pour Mac OS recent (10.10, Yosemite), la syntaxe du SED est differente |
29 | 21 | # Il faut donc faire une copie de ce fichier et transformer les instructions sed a l'interieur |
30 | 22 | # Pour cela, il suffit d'executer ces 2 lignes : |
... | ... | @@ -251,6 +243,14 @@ sudo chgrp -R $grp ./logs/ |
251 | 243 | sudo chmod -R 777 ./vendor/ |
252 | 244 | echo "==> Done" |
253 | 245 | |
246 | + | |
247 | +# Rendre les scripts executables | |
248 | +chmod +x SHOW_LOGS | |
249 | +chmod +x TEST_WEB | |
250 | +chmod +x TESTS.sh | |
251 | +chmod +x UPDATE | |
252 | +chmod +x VERSION | |
253 | + | |
254 | 254 | echo |
255 | 255 | echo "Mise à jour des droits des dossiers tmp et logs" |
256 | 256 | echo | ... | ... |
install/update.sh
... | ... | @@ -34,25 +34,35 @@ function abort() { |
34 | 34 | |
35 | 35 | |
36 | 36 | # ---------------------------------------- |
37 | -# 0) Sauvegarde de l'état actuel du dossier database/update/ (dans /tmp) | |
37 | +# 0) Sauvegarde de certains éléments (dans /tmp) | |
38 | +# (pour voir s'ils vont changer après le "git pull") | |
38 | 39 | # ---------------------------------------- |
40 | + | |
41 | +# a) Sauvegarde du fichier composer.json | |
42 | +cp -fp ../composer.json /tmp/ || abort | |
43 | +[[ $TEST == 1 ]] && cp ../composer.lock /tmp/composer.json | |
44 | +composer_json_prev=/tmp/composer.json | |
45 | + | |
46 | +# b) Sauvegarde du dossier database/update/ | |
39 | 47 | #db_update_scripts_before=( "key1" "key2" "key3" "key4" "key5" "key6" "key7" "key8" "key9" "key10" ) |
40 | 48 | rm -rf $db_update_scripts_folder_tmp/ || abort |
41 | 49 | mkdir $db_update_scripts_folder_tmp/ || abort |
42 | 50 | cp -fp $db_update_scripts_folder/db-update-????-??-??.sh $db_update_scripts_folder_tmp/ || abort |
43 | 51 | cd $db_update_scripts_folder_tmp/ || abort |
44 | 52 | db_update_scripts_before=$(ls -1 db-update-????-??-??.sh) || abort |
45 | -cd - >/dev/null || abort | |
53 | +cd - >/dev/null || abort | |
46 | 54 | #echo ; echo ${db_update_scripts_before[@]} |
47 | 55 | |
48 | 56 | |
57 | + | |
49 | 58 | # ---------------------------------------- |
50 | 59 | # 1) Mise à jour du code source (git pull) |
51 | 60 | # ---------------------------------------- |
52 | 61 | #db_update_scripts_after=( "key1" "key2" "key3" "key4" "key5" "key6" "key7" "key8" "key9" "key10" "key0" "key11" ) |
53 | 62 | echo |
54 | -echo "* Mise à jour du code source (git pull) (o/n) ? [o]" | |
55 | -read do_it ; [[ -z $do_it ]] && do_it="o" ; echo $do_it | |
63 | +echo "* 1) Mise à jour du code source (git pull) (o/n) ? [o]" | |
64 | +read do_it ; [[ -z $do_it ]] && do_it="o" | |
65 | +#echo $do_it | |
56 | 66 | [[ $do_it != "o" ]] && exit 0 |
57 | 67 | |
58 | 68 | cd ../ || abort |
... | ... | @@ -66,9 +76,45 @@ chmod 777 webroot/img/photos/ |
66 | 76 | cd - >/dev/null || abort |
67 | 77 | |
68 | 78 | |
79 | + | |
69 | 80 | # ---------------------------------------- |
70 | -# 2) On fait la différence entre les fichiers de mise à jour BD présents après le git et avant | |
81 | +# 2) Mise a jour des plugins php (dossier vendor/) si nécessaire | |
82 | +# (seulement si le fichier composer.json a changé) | |
71 | 83 | # ---------------------------------------- |
84 | +echo | |
85 | +echo "* 2) Mise à jour des plugins php (seulement si nécessaire) :" | |
86 | +plugins_dir=../vendor | |
87 | +# Creation dossier vendor/ si n'existe pas encore | |
88 | +if [ ! -d $plugins_dir ] ; then | |
89 | + mkdir $plugins_dir | |
90 | + chmod 777 $plugins_dir | |
91 | +fi | |
92 | +chmod +x plugins_set.sh | |
93 | +chmod +x plugins_install.sh | |
94 | +diff ../composer.json $composer_json_prev >/dev/null | |
95 | +# Attention, ne pas faire "update" mais "install" | |
96 | +# car "install" n'installe que les NOUVEAUX plugins non déjà installés | |
97 | +# et "update" risquerait aussi d'installer des versions plus récentes | |
98 | +# que les plugins qui sont déjà installés (et donc pas encore testés) | |
99 | +##[[ $? == 1 ]] && ./plugins_install.sh | |
100 | +if [[ $? == 0 ]] ; then | |
101 | + echo "==> PAS NÉCESSAIRE" | |
102 | +else | |
103 | + echo "OUI" | |
104 | + #./plugins_install.sh | |
105 | +fi | |
106 | + | |
107 | + | |
108 | + | |
109 | +# ---------------------------------------- | |
110 | +# 3) Mise a jour de la BD (si nécessaire) | |
111 | +# (seulement s'il y a au moins 1 nouveau script db-update-YYYY-MM-DD.sh dans database/update/) | |
112 | +# ---------------------------------------- | |
113 | + | |
114 | +echo | |
115 | +echo "* 3) Mise à jour de la Base de Données (seulement si nécessaire) :" | |
116 | + | |
117 | +# a) On fait la différence entre les fichiers de mise à jour BD présents après le git et avant | |
72 | 118 | |
73 | 119 | # TEST only |
74 | 120 | [[ $TEST == 1 ]] && (rm ../database/update/db-update-2014-08-23.sh ; touch ../database/update/test.txt ; touch ../database/update/db-update-2014-08-24.sh ; touch ../database/update/db-update-2014-08-25.sh; chmod +x ../database/update/db-update-2014-*.sh) |
... | ... | @@ -78,25 +124,23 @@ cd $db_update_scripts_folder/ || abort |
78 | 124 | db_update_scripts_after=$(ls -1 db-update-????-??-??.sh) || abort |
79 | 125 | cd - >/dev/null || abort |
80 | 126 | #echo ; echo ${db_update_scripts_after[@]} |
81 | -echo "=> Fait" | |
82 | 127 | |
83 | 128 | db_update_scripts_new=$( echo ${db_update_scripts_before[@]} ${db_update_scripts_after[@]} | tr ' ' '\n' | sort | uniq -u ) || abort |
84 | 129 | #temp=() ; for t in ${db_update_scripts_new[@]} ; do temp+=($t) ; done ; temp+=('toto') ; db_update_scripts_new=$temp |
85 | 130 | #echo ${#db_update_scripts_new[@]} ; echo ${db_update_scripts_new[@]} |
86 | 131 | # Pas de nouveau script de mise à jour BD à exécuter => exit |
87 | -[[ $db_update_scripts_new == '' ]] && exit 0 | |
132 | +#[[ $db_update_scripts_new == '' ]] && echo "==> PAS NÉCESSAIRE" ; exit 0 | |
133 | +if [[ $db_update_scripts_new == '' ]] ; then | |
134 | + echo "==> PAS NÉCESSAIRE" | |
135 | + echo | |
136 | + exit 0 | |
137 | +fi | |
88 | 138 | #nb_scripts=${#db_update_scripts_new[@]} |
89 | 139 | #[[ $nb_scripts == 0 ]] && exit 0 |
90 | 140 | |
91 | 141 | |
142 | +# b) Mise a jour de la BD | |
92 | 143 | |
93 | -# ---------------------------------------- | |
94 | -# 3) (Optionnel) Mise a jour de la BD | |
95 | -# (seulement s'il y a au moins 1 nouveau script db-update-YYYY-MM-DD.sh dans database/update/) | |
96 | -# ---------------------------------------- | |
97 | - | |
98 | -echo | |
99 | -echo "* Mise à jour de la Base de Données :" | |
100 | 144 | echo "Voici le(s) script(s) à exécuter :" |
101 | 145 | echo ${db_update_scripts_new[@]} |
102 | 146 | # Remove files that were DELETED by "git pull" |
... | ... | @@ -108,18 +152,19 @@ for db_update_script_new in ${db_update_scripts_new[@]} ; do |
108 | 152 | # Ignorer les fichiers supprimés par le "git pull" |
109 | 153 | [[ ! -f $db_update_script_new ]] && continue |
110 | 154 | echo ; echo |
111 | - echo "- Execution du script de mise à jour de la BD $db_update_scripts_folder/$db_update_script_new (o/n) ? [o]" | |
112 | - read do_it ; [[ -z $do_it ]] && do_it="o" ; echo $do_it | |
113 | - if [[ $do_it == "o" ]] ; then | |
114 | - #ls -l ./$db_update_script_new_ || abort | |
115 | - ./$db_update_script_new || abort | |
116 | - fi | |
155 | + #echo "- Execution du script de mise à jour de la BD $db_update_scripts_folder/$db_update_script_new (o/n) ? [o]" | |
156 | + echo "- Execution du script de mise à jour de la BD $db_update_scripts_folder/$db_update_script_new" | |
157 | + #read do_it ; [[ -z $do_it ]] && do_it="o" ; echo $do_it | |
158 | + #if [[ $do_it == "o" ]] ; then | |
159 | + #ls -l ./$db_update_script_new_ || abort | |
160 | + ./$db_update_script_new || abort | |
161 | + #fi | |
117 | 162 | done |
118 | 163 | [[ $TEST == 1 ]] && (rm test.txt ; rm db-update-2014-*.sh) |
119 | -cd - >/dev/null | |
164 | +cd - >/dev/null | |
165 | + | |
120 | 166 | |
121 | -# Test only | |
122 | 167 | |
123 | 168 | echo |
124 | -echo "=> Fait" | |
169 | +#echo "=> MISE À JOUR TERMINÉE" | |
125 | 170 | ... | ... |