我正在为我们的基础设施编写一本ansible剧本。我有以下反复出现的需求,但我还没有找到推荐的模式:
我有一个服务器,它需要运行多个vhost (/databases/rbenv environment/etc)。我可以安装nginx (postgres/rbenv/etc)依赖于来自galaxy的角色,即。
dependencies:
- role: "geerlingguy.nginx"
nginx_ppa_use: true
nginx_ppa_version: development
..现在,我可以将vhost配置数组添加到此依赖项中。然而,我想将这些定义捆绑在一起,而不是通过技术(nginx/rbenv...)而是按项目。
到目前为止,我找到的最好的方法是在每个项目角色中重复nginx依赖。但这会导致所有全局nginx选项的重复,并在配置新的服务器时重复执行nginx安装。
发布于 2016-04-19 02:31:56
这对我来说似乎没问题。
到目前为止,我找到的最好的方法是在每个项目角色中重复
依赖项。但这会导致所有全局nginx选项的重复,并在配置新的服务器时重复执行nginx安装。
它不应该这样做,因为Ansible被构建为只在系统状态未处于所需状态时才执行操作(即,仅当nginx尚未安装时才安装nginx )。
但是,如果重复检查花费的时间比您喜欢的要长,您可以将角色分为两个:一个执行基本的、常见的设置,另一个对每个vhost重复执行。
https://stackoverflow.com/questions/36701035
复制相似问题