Capistrano es una estupenda herramienta que nos simplifica y automatiza el despliegue de aplicaciones (deployment). Utiliza unos de archivos de configuración para realizar esas tareas, que podemos modificar dependiendo de nuestras necesidades. Lo que deprec hace es servirnos una serie de recetas precocinadas para Capistrano. En la actualidad (1.9) sólo funciona cuando el deployment es a un Ubuntu 6.06.1 Server LTS, pero en el futuro (2.0) el sistema operativo se servirá como un plugin. Éste screencast nos muestra como de rápido podríamos tener un servidor funcionando con todo lo necesario empezando desde cero.
El procedimiento sería el mismo en servidores remotos (sin utilizar Parallels), y sería resumiendo algo así:
Nota: he modificado algunas cosas que no aparecen el el vídeo, que me hicieron falta para que funcionase.
En el la máquina remota:
sudo apt-get install openssh-server
En la máquina local:
Cremos nuestras keys si no las tenemos
ssh-keygen -t rsa
Subimos las keys al servidor:
cap setup_ssh_keys
sudo gem install deprec -y
echo "require 'deprec/recipes'" >> ~/.caprc
Para que recoja las llaves ssh y no nos pregunte todo el rato la clave:
echo ssh_options[:keys] = %{/Users/jesus/.ssh/id_rsa} >> ~/.caprc
Creamos la aplicación:
rails myapp
Le aplicamos deprec:
cd myapp
deprec --apply-to .
Configuramos config/deploy.rb
Modificamos el :domain, :application, :user.
Instalamos lo necesario para que funcione Rails (Apache, Ruby, etc.)
cap install_rails_stack
Instalamos la aplicación:
cap setup
Añadimos soporte para svn:
cap setup_scm
Actualizamos la aplicación con las migraciones:
cap deploy_with_migrations
Reiniciamos Apache:
cap restart_apache
Ahora en cada actualización utilizaremos:
cap deploy
Y si queremos volver a una versión anterior:
cap revert












