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