为什么结构报告“未找到主机”?
env.roledefs = {
'seed': ['host1'],
'peer': ['host2']
}
@roles('seed')
def test():
pass
@roles('peer')
def test1():
pass
def deploy():
test()
test1()
fab 测试、fab test1 - 一切正常
fab 部署:
未找到主机。请指定用于连接的(单个)主机字符串:
为什么?
env.roledefs = {
'seed': ['host1'],
'peer': ['host2']
}
@roles('seed')
def test():
pass
@roles('peer')
def test1():
pass
def deploy():
test()
test1()
fab test, fab test1 - all ok
fab deploy:
No hosts found. Please specify (single) host string for connection:
Why ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
从
deploy
调用test
和test1
时,不考虑@roles
。您应该使用execute(test)
和execute(test1)
调用函数。另请参阅:
When calling
test
andtest1
fromdeploy
, the@roles
are not taken into account. You should call the functions usingexecute(test)
andexecute(test1)
.See also:
因为 env.hosts 没有设置。您的 test() 函数不使用 run() 或任何需要 ssh 连接的类似命令,而 deploy() 可能使用 does()。
首先阅读这些:
http://docs.fabfile.org/en /1.0.1/usage/env.html#hosts
http://docs.fabfile.org/en/1.0.1/usage/execution.html#hosts
Because env.hosts is not set. Your test() functions do not use run() or any similar command that requires ssh connection, while deploy(), presumably, does().
Read these first:
http://docs.fabfile.org/en/1.0.1/usage/env.html#hosts
http://docs.fabfile.org/en/1.0.1/usage/execution.html#hosts