0

我已将面料从升级fabric3==1.14.post1fabric=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.

4

1 回答 1

0

--prompt-for-sudo-password运行时使用fab

于 2020-06-04T06:09:19.187 回答