1

我正在开发 Django 和 Fabric 中的部署工具。案例是在初始形式中放置一些参数(如主机名和用户名),然后让 Django 应用程序调用结构方法来完成其余的工作并在 Web 浏览器中收集输出。

如果从操作系统到结构有密码提示(即运行 sudo 命令等),我想弹出一个字段表单以输入密码(例如使用 jQuery UI 元素)。该人将填写用户提示的密码字段,Fabric 将继续执行这些操作。这种情况有可能实现吗?我正在考虑对浏览器进行一些异步调用,但我不知道如何从另一端完成。可能还有另一种方法。

如果您有任何建议,请告诉我。谢谢!

4

2 回答 2

2

是的,捕获密码异常,而不是弹出表单,然后再次运行结构脚本env.password = userpassword

如果您想从捕获异常的地方继续,请保留一个知道已经完成了什么的变量(即 nlinesexecuted),并在捕获异常时保存它。重新运行脚本以从您离开的地方继续时使用逻辑。

于 2012-05-03T21:45:47.603 回答
1

我想不出一种仅在需要时才提示密码的方法……但是,您可以在之前提示并根据需要对其进行缓存,并且后端可以访问。

要将 sudo 密码传递给 fabric 命令,您可以使用 sudo -S... 即

回显密码 | sudo -S 命令

于 2012-05-03T21:45:31.023 回答