如何在ansible中抽象角色
我有一系列服务,它们是用ansible构建和部署的。 每个服务都由它自己的团队管理,有单独的存储库,它们彼此完全独立。 我有一些在所有服务中都相同的ansible角色(如已安装的软件包、web服务器等)。 是否有任何方法可以抽象这些角色,例如在不同的存储库或某种包中,并将它们作为依赖项包含在另一个ansible角色中 例如:如何在ansible中抽象角色,ansible,infrastructure,Ansible,Infrastructure,我有一系列服务,它们是用ansible构建和部署的。 每个服务都由它自己的团队管理,有单独的存储库,它们彼此完全独立。 我有一些在所有服务中都相同的ansible角色(如已安装的软件包、web服务器等)。 是否有任何方法可以抽象这些角色,例如在不同的存储库或某种包中,并将它们作为依赖项包含在另一个ansible角色中 例如: service-foo/ play.yml – includes all roles roles/ common – the same! db-fo
service-foo/
play.yml – includes all roles
roles/
common – the same!
db-foo
web-foo
service-bar/
play.yml – includes all roles
roles/
common – the same!
db-bar
web-bar
我希望它看起来像这样:
role-storage?
common
service-foo/
play.yml - includes common as external dependency as well
roles/
db-foo
web-foo
service-bar/
play.yml - includes common as external dependency as well
roles/
db-bar
web-bar
听起来你想做的是将普通角色设置为一个角色。创建目录
roles/service foo/meta
和roles/service bar/meta
,并在每个目录中添加一个main.yml,列出从属角色:
common
只是存储在角色目录中的另一个角色。如果你想获得更多的灵感,那么依赖角色可以直接从github中提取,等等。我链接到的Ansible文档提供了所有细节
---
dependencies:
- { role: common }