为什么fabric报告“未找到主机”?
env.roledefs = {
'seed': ['host1'],
'peer': ['host2']
}
@roles('seed')
def test():
pass
@roles('peer')
def test1():
pass
def deploy():
test()
test1()
fab test,fab test1 - 都正常
fab deploy:
没有找到主机。请指定一个(单一的)主机字符串以便连接:
这是为什么呢?
2 个回答
1
因为没有设置 env.hosts。你的 test() 函数没有使用 run() 或其他需要通过 ssh 连接的命令,而 deploy() 函数可能是需要的。
先看看这些:
4
在从 deploy
调用 test
和 test1
时,@roles
这个设置没有被考虑进去。你应该用 execute(test)
和 execute(test1)
来调用这些函数。
另外,看看这些链接: