Hug*_*own 13 shell ubuntu fabric
我有一个很大程度上依赖于系统环境变量的本地开发环境(它遵循Heroku 12-factor app模型),我目前使用shell脚本设置它们.shell脚本还设置了git遥控器,并激活了virtualenv环境,如果可能的话,我希望将所有这些移动到Fabric命令(或一系列命令),因为我们使用Fabric来处理其他一些东西,我想退出shell脚本.
运行local('export FOO=bar')不起作用:
$ fab set_default_env_vars
Using fabfile '/home/hugo/Projects/test/fabfile.py'
[localhost] local: export FOO=bar
Done.
$ echo $FOO
$
Run Code Online (Sandbox Code Playgroud)
这可能 - 如果是的话,怎么样?
Sea*_*ira 19
您可以使用fabric.context_managers.shell_env到export一个变量来砸你的shell和所有子shell从中衍生出-但这些变量不会持续超过他们正在为(所以你不能为母贝从织物脚本中设置环境变量定义的Shell你的榜样有它的方式).
您可以设置为本地环境提供的bash脚本,该脚本与您在生产slug中添加~/.profile的bash脚本(在其键中,不一定是其值)相同,并fabric.context_managers.prefix在运行本地命令之前用于获取该文件.