47.25.2.1. Nahrání aplikace na server pomocí rsync

Tato rake úloha je náhradou za mnou obvykle používaný shell script upload jenž častou používám v jednotlivých projektech pro distribuci na server. Je to velmi jednoduchá úloha, provádějící prosté nahrání aplikace na server. Neřeší věci kolem restartu/reloadu aplikačního serveru, neřeší migrace databází. Prostě jen nahraje aplikaci.

Parametry jsou uvedeny na začátku úlohy. Musíme upravit ruser, což je uživatel jenž má právo se přihlásit pomocí ssh na server rserver. Aplikaci pak nahráváme na serveru do adresáře rdir.

desc "Upload application to a production server"
task :upload do
    rexcl = '--exclude "*~" --exclude tmp/ --exclude log/'
    ropts = '-avPe ssh -C --delete --delete-after'
    ruser = 'root'
    rserver = 'app.example.com'
    rdir = '/usr/local/share/aplikace'

    puts "Uploading application" 
    system "echo $PWD"
    system "rsync #{ropts} #{rexcl} ./ #{ruser}@#{rserver}:#{rdir}"
end
Licence Creative Commons
Tento dokument Ruby, jehož autorem je Radek Hnilica, podléhá licenci Creative Commons Uveďte autora-Nevyužívejte dílo komerčně-Zachovejte licenci 3.0 Česká republika .