terminé de publicar una pregunta en la lista de usuarios Capistrano here, y obtuvo la siguiente respuesta de Jamis (editado un poco por mí aquí para mayor claridad):
Trate HOSTS variable de entorno:
cap HOSTS=app2.example.com production deploy
Tenga en cuenta que haciendo esto tratará app2 como en todos los papeles , no sólo lo que el papel (s) pasa a ser declarado en.
Si lo que quieres es hacer un despliegue regular, pero sólo actuar sobre app2 y sólo como app2 se declara en el archivo de receta, puede usar el HOSTFILTER variable en lugar:
cap HOSTFILTER=app2.example.com production deploy
[...]
Considere este ejemplo concreto. Suponga que el script define tres servidores, A, B, y C. Y define una tarea, "foo", que (por defecto) quiere ejecutar en A y B, pero no C. De esta manera:
role :app, "A", "B"
role :web, "C"
task :foo, :roles => :app do
run "echo hello"
end
Ahora, si lo hace cap foo
, se ejecutará el comando de eco en ambos a y B.
Si lo hace cap HOSTS=C foo
, se ejecutará el comando echo en C, independientemente del: parámetro de papeles a la tarea .
Si hace cap HOSTFILTER=C foo
, no ejecutará el comando echo en all, porque la intersección de (A B) y (C) es un conjunto vacío.(Hay hay hosts en la lista de hosts de foo que responden a C.)
Si lo hace cap HOSTFILTER=A foo
, se ejecutará el comando echo sólo en A, debido a que (A B) se cruzó con (A) es (A).
Por último, si lo hace cap HOSTFILTER=A,B,C foo
, se ejecutará el comando echo en A y B (pero no C), porque (A B) se cruzó con (B C) es (A B).
En resumen: HOSTS reemplaza por completo la declaración de hosts o roles de la tarea y obliga a que todo se ejecute contra el host especificado. El HOSTFILTER, por otro lado, simplemente filtra los hosts existentes en la lista dada, seleccionando solo aquellos servidores que ya están en la lista de servidores de tareas.
Parece que esto ya no funciona con Capistrano 3.4 – collimarco
En Capistrano 3, usará la variable de entorno HOSTS para lo que HOSTFILTER está en Capistrano 2. http://capistranorb.com/documentation/advanced-features/host-filtering / – codener