Fabric 运行() 方法只处理两次
Fabric run() method handle only twice
我遇到了 Fabric 的问题,它不允许我执行两个 运行 命令。
我有 Fabric 的任务
@task
def deploy():
run("su - user")
run("cd /home/user/project")
并且当我 运行 一个带有 fab deploy
脚本的函数连接到服务器并且 运行 只有第一行
[34.252.47.139] run: su - user
[34.252.47.139] out: user@user.com [~]#
在此步骤中,我使用 Ctrl+D
键终止控制台,然后我看到第二行代码执行。
所以控制台的总输出是:
[34.252.47.139] run: su - user
[34.252.47.139] out: user@user.com [~]# logout (Here I terminate a console)
[34.252.47.139] out:
[34.252.47.139] run: cd /home/user/project
Done.
Disconnecting from 34.***.***.***... done.
考虑改用 sudo()
和 cd()
上下文管理器。类似于:
@task
def deploy():
with cd('/home/user/project'):
sudo('your-command', user=user)
我遇到了 Fabric 的问题,它不允许我执行两个 运行 命令。
我有 Fabric 的任务
@task
def deploy():
run("su - user")
run("cd /home/user/project")
并且当我 运行 一个带有 fab deploy
脚本的函数连接到服务器并且 运行 只有第一行
[34.252.47.139] run: su - user
[34.252.47.139] out: user@user.com [~]#
在此步骤中,我使用 Ctrl+D
键终止控制台,然后我看到第二行代码执行。
所以控制台的总输出是:
[34.252.47.139] run: su - user
[34.252.47.139] out: user@user.com [~]# logout (Here I terminate a console)
[34.252.47.139] out:
[34.252.47.139] run: cd /home/user/project
Done.
Disconnecting from 34.***.***.***... done.
考虑改用 sudo()
和 cd()
上下文管理器。类似于:
@task
def deploy():
with cd('/home/user/project'):
sudo('your-command', user=user)