2011-03-03 15 views
11

Estoy tratando de usar fabric para instalar e implementar un proyecto web durante el cual necesito crear una base de datos postgresql y configurar un servidor RabbitMQ. Ambas operaciones son interactivas y requieren la participación del usuario para crear una base de datos, agregar un usuario, configurar la contraseña, etc. (al menos que yo sepa).¿Puedo usar Fabric para realizar comandos de shell interactivos?

¿Puedo usar un script de tejido para realizar operaciones de shell interativo como estas?

+0

¿Sabes esperar? Eche un vistazo a http://www.noah.org/wiki/pexpect –

+1

La mayoría de los instaladores (bien hechos) tendrán una manera de evitar preguntas interactivas, o al menos proporcionar la configuración para guiar las respuestas. Puede ser más ventajoso investigar eso antes de entrar en 'expect' or' pexpect'. – JimB

Respuesta

10

Esto es en Fabric 1.0. Lo probé y funciona para mí.

Las versiones anteriores de Fabric (y las bibliotecas SSH de alto nivel similares) ejecutan programas remotos en el limbo, no se pueden tocar desde el extremo local. Esto es problemático cuando tiene una necesidad seria de ingresar contraseñas o interactuar con el programa remoto.

La tela 1.0 y posterior rompe esta pared y asegura que siempre se puede hablar con el otro lado.

Source

Editar: Como notas Payne abajo, Tela 1.0 fue liberado. Edité la respuesta para indicar esto.

+2

And Fabric 1.0 fue lanzado el 6 de marzo. – payne

Cuestiones relacionadas