Hola!! tengo una aplicación en la que necesito que la tarea que crea los
symlinks (task :after_symlink) haga symlinks diferentes dependiendo de
si
está haciendo el deploy en staging o en producción, algo como esto ( me
invento la sintaxis)
after “production:deploy”, “production_symlinks”
after “staging:deploy”, “staging_symlinks”
alguna ayuda?
Gracias!
On Jun 25, 2008, at 10:23 AM, Emili Parreño wrote:
Hola!! tengo una aplicación en la que necesito que la tarea que crea
los symlinks (task :after_symlink) haga symlinks diferentes
dependiendo de si está haciendo el deploy en staging o en
producción, algo como esto ( me invento la sintaxis)
after “production:deploy”, “production_symlinks”
after “staging:deploy”, “staging_symlinks”
Yo lo que hago siempre es definir entornos en capistrano. De manera
que tengo staging y producción. La única diferencia entre ellos es los
servidores en los que se ejecuta.
server = 'app.com'
port = 5000
servers = 8
case environment
when 'staging'
role :web, application
role :app, application
role :db, application, :primary => true
else
role :web, 'web1.app.com', 'web2.app.com'
role :app, 'web1.app.com', 'web2.app.com'
role :db, 'db1.app.com'
end
case environment
when 'staging'
set :application, "staging.#{server}"
environment = 'staging'
port = port + 500
servers = 4
else
set :application, “www.#{server}”
end
Así todas las tareas podras re-utilizarlas en cualquier entorno,
podras definirte los entornos que te hagan falta …
OK , ya veo. Con una variable controlas en que entorno estas.
Gracias
El dÃa 25 de junio de 2008 10:35, Francesc E. <
[email protected]> escribió:
Emili Parreño escribió:
Gracias!
Yo suelo usar el componente multistage del plugin “capistrano-ext”[1]
Te quedan cosas muy majicas. Mas o menos para lo que tu quieres serÃa
algo asÃ:
==== config/deploy.rb
set :stages, %w(production staging development foo bar)
set :default_stage, “development”
require ‘capistrano/ext/multistage’
Common variables and tasks
…
==== config/deploy/production.rb
after “deploy”, “custom_symlinks”
namespace :deploy do
task :custom_symlinks, :roles => :app do
# your code
end
end
More tasks for production stage
…
==== config/deploy/staging.rb
after “deploy”, “custom_symlinks”
namespace :deploy do
task :custom_symlinks, :roles => :app do
# your code
end
end
More tasks for staging stage
…
[1]Buckblog: Capistrano: Multistage
Rafael, ya lo habia visto, pero creo que para lo que necesito no es
necesario instalar un plugin, aunque tiene buena pinta.
Gracias
2008/6/25 Rafael G. [email protected]: