Hosting webů v Ruby on Rails klubu Silicon Hill.
Tento server slouží pouze pro hosting webů v Ruby on Rails. Pro hostování webů v php slouží PHP Hosting. Lze použít jakoukoliv verzi ruby dle potřeb, minimálně však 1.9.3, a je dostupná postgres databáze ve verzi 9.1. Pro sledování návštěvnosti je možné použít Piwik.
Pro deploy se používá Capistrano.
Ve zkratce: Jde o gem pro deploy aplikací na server. Deploy proces probíhá tak, že se vytvoří SSH připojení a pak se stáhne aplikace z verzovacího systému a provedou další tasky (např.: instalace gemů, kompilace assetů, vytvoření linků na sdílený obsah mezi verzemi ...) a nakonec, pokud vše proběhne v pořádku, restart aplikace.
Pro Capistrano ve verzi 2:
1 2 3 4 5 | # Nejprve nainstalujeme gem na lokalni stroj, ze ktereho se bude provadet deploy gem install capistrano # Nechame automaticky vytvorit potrebne soubory cd /moje/aplikace capify . |
Zde je ukázkový soubor config/deploy.rb pro deploy aplikace na rails hosting:
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 | set :application , "support.sh.cvut.cz" role :web , "rails.sh.cvut.cz" # Your HTTP server, Apache/etc role :app , "rails.sh.cvut.cz" # This may be the same as your `Web` server role :db , "rails.sh.cvut.cz" , :primary => true # This is where Rails migrations will run set :user , "support" # The server's user for deploys set :deploy_to , "/home/#{user}/www/" set :use_sudo , false set :ssh_options , { :paranoid => false , :forward_agent => true } set :scm , "git" set :repository , "git@git.sh.cvut.cz:web-support.git" set :branch , "master" set :rake , 'r193_bundle exec rake' # for db:migrate etc. set :default_environment , { 'PATH' => "/usr/local/rvm/bin/:$PATH" , 'RAILS_ENV' => "production" } namespace :deploy do desc "Tell Passenger to restart the app." task :restart do run "touch #{current_path}/tmp/restart.txt" end desc "Try to install gems." task :bundle_install do run "cd #{release_path} && r193_bundle install --without test --without development --path #{deploy_to}/bundle" end desc "Precompile assets." task :precompile_assets do run "cd #{release_path}; r193_bundle exec rake assets:precompile" end end after 'deploy:update_code' , 'deploy:bundle_install' after 'deploy:bundle_install' , 'deploy:precompile_assets' after 'deploy:precompile_assets' , 'deploy:migrate' after "deploy:update" , "deploy:cleanup" |
1 2 3 4 5 6 7 8 9 | # === Pri prvnim deployi # Necháme Capitrano vytvorit potrebnou adresarovou strukturu cap deploy :setup # Zkontorlujem, zda je vse pripraveno cap deploy :check # === Pri kazdem deployi # Nechame Capistrano nahrat aktualni verzi z repozitace na rails hosting cap deploy |