Capistrano y sudo

Hey!
tengo una recetilla y se peta cuando intento hacer cap deploy:cold
el caso es que aunque tengo set :use_sudo, true parece que esa tarea
no lo usa
una forma de arreglarlo es llamar al comando como cap SUDO=1 deploy:cold

la pregunta del millón es, como hago para que todas las recetas usen
sudo
(aunque puede que parezca mala idea)

marze!

On Wed, Jul 16, 2008 at 00:16, Marcelino L. Villa [email protected]
wrote:

Hey!
tengo una recetilla y se peta cuando intento hacer cap deploy:cold
el caso es que aunque tengo set :use_sudo, true parece que esa tarea no lo
usa
una forma de arreglarlo es llamar al comando como cap SUDO=1 deploy:cold
la pregunta del millón es, como hago para que todas las recetas usen sudo
(aunque puede que parezca mala idea)

marze!

Creo que :use_sudo funciona de otra forma y además es bastante confusa.

Al menos en Capistrano 2, :use_sudo es una variable de la receta que
proporciona el mismo Capistrano para Rails. Capistrano proporciona dos
métodos a los desarrolladores de recetas “run” y “sudo”, uno no
utiliza sudo y el otro sí, pero no atienden a razones “externas” (por
eso me extraña lo que dices de que con SUDO=1 funciona). Lo que sí
sucede es que en la receta, si :use_sudo es false, no se utiliza sudo
para algunas tareas, pero si la tarea, tal y como está escrita,
utiliza “run” no utilizará sudo por mucho :use_sudo = true que pongas.

Personalmente un nombre más adecuado para esa variable sería
:disable_sudo, que si tiene valor true se deja de utilizar sudo, y en
otro caso se utiliza, pero eso no arregla que los métodos de
Capistrano lo utilicen o no incondicionalmente.

Si lo de SUDO=1 te funciona (aunque he estado viendo el código y no
debería influir) me parece que va a ser tu opción sencilla. Otra es
reescribirse las tareas para que utilizen “sudo” en vez de “run”,
aunque creo que todos los comandos de la estrategias de deploy y de
los SCM se ejecutan sin sudo.

Suerte.

Extraño, funcionaba pero al final me daba otro error, lo he
solucionado de otra manera, me he creado un usuario solo para el
deploy y le he dado los permisos correctos, va de perlas :slight_smile:

y he añadido

ssh_options[:paranoid] = false
default_run_options[:pty] = true

cosas de Capistrano, siempre lo configuro distinto cada vez que
reinstalo

gracias!
marze

El 16/07/2008, a las 1:58, Daniel R. Troitiño escribió: