我想使用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
示例输出:
host:folder user$ fab deploy_2_dev
env.hosts: []
env.hosts: ['dev']
No hosts found. Please specify (single) host string for connection:
在创建Fabric docs中所示的set_hosts()
任务时,可以正确设置env.hosts。然而,这不是一个可行的选择,装饰器也不是。在命令行上传递主机最终会导致调用fabfile的某种shell脚本,我更喜欢用一个工具来正确地完成这项工作。
它在Fabric文档中说“env.hosts只是一个Python列表对象”。根据我的观察,这根本不是真的。
有人能解释一下这是怎么回事吗?如何设置要部署到的主机?
https://stackoverflow.com/questions/2326797
复制相似问题