Jak nastavit aplikaci pro deploy pomocí nástroje Capistrano
Doporučený a podporovaný způsob jak nasadit a udržovat vaši aplikaci na serveru je prostřednictvím nástroje Capistrano, který se konfiguruje souborem deploy.rb, který jsme vám zaslali jako přílohu aktivačního e-mailu.
V lokálním adresáři s vaší aplikací (tedy na vašem počítači, nikoliv na serveru) spustťe příkaz:
capify .
Poté přepište soubor config/deploy.rb
souborem deploy.rb
, který jsme vám zaslali e-mailem, nebo který jste si stáhli z administračního rozhraní. Tento soubor obsahuje konfigurační direktivy pro nasazení aplikace na server pomocí protokolu SSH.
Následně musíte sdělit Capistranu, z jakého repositáře má nahrát aplikaci na server. (Nemáte-li repositář k dispozici, využijte serverů Github, Git.Or.cz nebo nám napište a my vám Git repositář zřídíme.) Učiníte tak pomocí deklarace set :repository, "cesta_k_vasemu_repositari"
, kam uvedete správnou cestu, např:
set :repository, "git://github.com/karmi/workshop_tutorial_application.git"
Aby se mohlo Capistrano připojit k repositáři, budete pravděpodobně muset na server s repositářem nahrát klíč pro uživatele deployer
. Tento klíč jsme vám zaslali jako přílohu git.pub aktivačního e-mailu. Můžete si jej také zkopírovat z administračního rozhraní. Instrukce pro instalaci klíče na server Github naleznete v článku Guides: Deploying with Capistrano.
V dalším kroku spustíte konfiguraci vašeho virtuálního serveru (vytvoření adresářů pro releases a další) pro nasazení aplikace pomocí Capistrano:
cap deploy:setup
A nakonec provedete samotné nahrání vaší aplikace na server, spuštění databázových migrací a restart aplikačního serveru:
cap deploy:cold
Vaši aplikaci běžící v produkčním módu nalezenete na URL http://jmeno_vasi_aplikace.free.railshosting.cz
Aktualizaci kódu vaší aplikace a restart serveru budete poté provádět příkazem:
cap deploy:migrations
(resp. jen cap deploy
, pokud nechcete spouštět databázové migrace.)
Můžete se též např. vracet ke starším verzím aplikace pomocí příkazu:
cap deploy:rollback
a provádět pomocí Capistrano její další správu.