我已经将面料从 fabric3==1.14.post1
到 fabric=2.5.0
. 代码工作正常 fabric3==1.14.post1
现在我在执行任务的时候遇到了一个问题,问题是当我运行任务的时候,任务必须在远程服务器上更新和安装软件,而远程服务器是不需要密码的(用公钥,不要问密码!).老版本(1.14.post1)。
from fabric.api import task, sudo, env, run
@task
def install_docker():
sudo('apt-get update && apt-get install -qy docker.io')
@task
def task_queue():
execute(install_docker)
execute(install_some_soft)
我如何运行它。fab task_queue
新版(2.5.0)
@task
def install_docker(ctx):
ctx.sudo('apt-get update && apt-get install -qy docker.io')
@task(pre=[install_docker])
def task_queue(ctx):
pass
我如何运行它。fab task-queue
然后我就出现了这样的错误。
invoke.exceptions.AuthFailure: The password submitted to prompt '[sudo] password: ' was rejected.
使用 --prompt-for-sudo-password
当你运行 fab
.