我已将结构从fabric3==1.14.post1
升级到fabric=2.5.0
。代码可以与fabric3==1.14.post1
配合使用。
现在我在执行其他任务时遇到了问题。
问题是,当我运行task时,task必须在远程服务器中更新并安装软件,该服务器无需密码(使用公钥,不要询问密码!)。
旧版本(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.
运行
fab
时使用prompt-for-sudo-password
相关问题 更多 >
编程相关推荐