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