X-Git-Url: http://git.euphorik.ch/?p=euphorik.git;a=blobdiff_plain;f=tools%2Fmise_en_prod.rb;h=d95156cfdd786699ae0201239da025b8a2d0e7a1;hp=19e180ba9bbce72ec0ead280325b49fc778787ad;hb=18e8fadf5aad8d7b2e7b750210dc949951b4a124;hpb=a193d10c45d8226937c91a17dc588e4f6f1586fd diff --git a/tools/mise_en_prod.rb b/tools/mise_en_prod.rb index 19e180b..d95156c 100755 --- a/tools/mise_en_prod.rb +++ b/tools/mise_en_prod.rb @@ -18,16 +18,14 @@ You should have received a copy of the GNU General Public License along with Euphorik. If not, see . =end - - -### MAKE -Dir.chdir('../modules') -puts `make` - -### COPIE $rep_remote = '/var/www/euphorik' $host = 'euphorik.ch' -$opt_rsync = '' +$opt_rsync = '' + + +#TODO +# - mettre à jour les numéros de versions en appelant le script "cope_num_version.rb" +# - création de unit tests (voir eunit) et validation avant la mise en prod def creer_remote_rep(rep) begin @@ -36,13 +34,25 @@ def creer_remote_rep(rep) end end + +# Compilation de la partie serveur +Dir.chdir('../modules') +puts `make` +if $?.exitstatus != 0 + puts "Echec de compilation de la partie serveuse" + exit 1 +end +Dir.chdir('..') + +# création du repertoire BD creer_remote_rep('BD') `ssh #{$host} "chmod g+w #{$rep_remote}/BD"` -Dir.chdir('..') +# copie de la partie statique : css, images, html, etc.. print `rsync #{$opt_rsync} index.yaws #{$host}:#{$rep_remote}` print `rsync #{$opt_rsync} favicon.ico #{$host}:#{$rep_remote}` print `rsync #{$opt_rsync} -r css #{$host}:#{$rep_remote}` +print `rsync #{$opt_rsync} -r pages #{$host}:#{$rep_remote}` print `rsync #{$opt_rsync} -r --exclude 'autres' img #{$host}:#{$rep_remote}` # copie des js avec minification @@ -55,10 +65,14 @@ Dir.entries(rep_js).each{|fichier| end } +# copie des modules erlang creer_remote_rep('modules') -`rsync #{$opt_rsync} -r modules/ebin #{$host}:#{$rep_remote}/modules` +`rsync #{$opt_rsync} -r --exclude 'euphorik_test.beam' modules/ebin #{$host}:#{$rep_remote}/modules` `rsync #{$opt_rsync} -r modules/include #{$host}:#{$rep_remote}/modules` -`rsync #{$opt_rsync} -r pages #{$host}:#{$rep_remote}` - +# attribution des droits +`ssh #{$host} "chmod -R g+rx #{$rep_remote}"` +# execution du script de mise à jour +print `cat tools/mise_en_prod.erl | ssh #{$host} "cat > /tmp/mise_en_prod.erl"` +print `ssh #{$host} "chmod u+x /tmp/mise_en_prod.erl; /tmp/mise_en_prod.erl; rm /tmp/mise_en_prod.erl"`