ansible:作为角色依赖项运行playbook任务之一
假设我有一个角色名为a,另一个角色名为B。 我希望能够在角色a发生之前从角色B运行特定任务。 如果我把角色B作为角色a的依赖项,那么B的所有任务都将在a之前执行。ansible:作为角色依赖项运行playbook任务之一,ansible,Ansible,假设我有一个角色名为a,另一个角色名为B。 我希望能够在角色a发生之前从角色B运行特定任务。 如果我把角色B作为角色a的依赖项,那么B的所有任务都将在a之前执行。 有什么想法吗?我同意@Bruce p的观点,如果你在a和B两个角色中都有一个共同的任务,你应该将它提取到自己单独的角色中。一般来说,将各种组件封装到角色中被认为是一种良好的做法,无论特定角色有多小 例如,如果您可以调用角色“Common”,当您同时运行这两个角色时,阅读您的剧本的人将能够将该步骤识别为公共配置/任务。可读性和可重用性非
有什么想法吗?我同意@Bruce p的观点,如果你在a和B两个角色中都有一个共同的任务,你应该将它提取到自己单独的角色中。一般来说,将各种组件封装到角色中被认为是一种良好的做法,无论特定角色有多小
例如,如果您可以调用角色“Common”,当您同时运行这两个角色时,阅读您的剧本的人将能够将该步骤识别为公共配置/任务。可读性和可重用性非常好 您将标记所需的任务,然后如中所示,您将:
roles:
- { role: Role_B, port: 5000, tags: [ 'web', 'foo' ] }
我只想到使用标签,但我想这一点也不令人满意。我也认为标签是这里的关键,但我不知道如何使用它。如果我将一个标记添加到该特定任务中,我如何使ansible查找它?唯一的方法是在命令行上传递它
--标记“foo”
,但是除了角色B中的特定任务之外,角色a中的所有任务都需要该标记foo
。这很难看。你可以把任务分成另一个角色,角色C,让C成为角色a和B的依赖项。