我对fabic(2.4)有疑问。我无权访问远程服务器中的环境变量(我正在使用FreeBSD)。
在我的〜/ .profile文件中,我有一个变量:
export MY_KEY="123456789"
在我的fabfile.py中,我有一个简单的任务:
from fabric import task
@task(hosts=['user@myhost.com'])
def deploy(context):
context.run('echo 123')
context.run('echo $MY_KEY')
当我运行fab deploy命令时,我只能看到123,但是通过ssh连接后,我的变量可见。
答案 0 :(得分:1)
使用Connection.prefix
作为上下文管理器又如何呢?
with context.prefix('MY_KEY="123456789"'):
context.run('echo 123')
context.run('echo $MY_KEY')