管理大量 Ansible 角色

Managing a large amount of Ansible roles

我们正在努力将我们的项目转换为 Ansible。由于项目的规模,我们将需要大量的角色(30+)。我们 运行 遇到的问题是如何存储和管理这些角色。我们考虑的事项:

1) Github 每个角色的回购 -> 这是不现实的。我们不想仅仅为了维护我们的角色而管理 30+ git 个存储库 2) Ansible Galaxy -> 如果我们有一个 Ansible Galaxy 的本地实例,这将很有价值,但中央实例将无法工作 3) 我们可以简单地将角色存储在一个平面目录中,但是在这种情况下我们失去了能够对它们进行版本控制的好处。还有一个问题是如何自动将我们的ansible角色目录推送到ansible控制器主机到正确的目录

有没有我遗漏的解决方案?

我建议将角色保留在单个 git 存储库中。

对于自动推送到 ansible 控制器,您可以创建一个使用 git module to retrieve the appropriate version of the roles. This could then be run on a regular basis (or scheduled via cron) 的独立剧本。

或者,您可以将 git 检索添加到您现有的剧本,然后它会 check/update 在执行角色之前