相关疑难解决方法(0)

如何在Fabric文件中设置目标主机

我想使用Fabric将我的Web应用程序代码部署到开发,登台和生产服务器.我的fabfile:

def deploy_2_dev():
  deploy('dev')

def deploy_2_staging():
  deploy('staging')

def deploy_2_prod():
  deploy('prod')

def deploy(server):
  print 'env.hosts:', env.hosts
  env.hosts = [server]
  print 'env.hosts:', env.hosts
Run Code Online (Sandbox Code Playgroud)

样本输出:

host:folder user$ fab deploy_2_dev
env.hosts: []
env.hosts: ['dev']
No hosts found. Please specify (single) host string for connection:
Run Code Online (Sandbox Code Playgroud)

当我创建Fabric文档中set_hosts()显示的任务时,env.hosts设置正确.但是,这不是一个可行的选择,也不是装饰者.在命令行上传递主机最终会导致调用fabfile的某种shell脚本,我宁愿让一个工具正常工作.

它在Fabric文档中说'env.hosts只是一个Python列表对象'.根据我的观察,这根本不是真的.

谁能解释一下这里发生了什么?如何设置要部署的主机?

python host fabric

107
推荐指数
8
解决办法
6万
查看次数

标签 统计

fabric ×1

host ×1

python ×1