0

我们将这种模式用于我们的主机(和 linux 用户):

coreapp_customer_stageID@server

我想在与模式匹配的主机列表上运行结构命令。

示例:我想在客户“c1”的核心应用“foocms”的所有主机上运行“date”。

我可以使用角色,但有很多客户......全局匹配方式会很好。

4

1 回答 1

0

你可以用这个

@task
def set_hosts(lookup_param):
    '''
    '''
    hosts=get_all_systems() # that needs to be implemented by you.
    regex=re.compile('^%s' % lookup_param.replace('*', '.*'))
    sub_hosts=[host for host in hosts if regex.match(host)]
    if not sub_hosts:
        raise ValueError('No host matches %s. Available: %s' % (lookup_param, hosts))
    env.hosts = sub_hosts

@task
def date():
    run('date')

例子:fab set_hosts:coreapp_customer1_* date

取自:http ://docs.fabfile.org/en/1.7/usage/execution.html#the-alternate-approach

于 2013-09-19T08:08:29.890 回答