2014-09-23 82 views
0

我有Ansible角色的包,我想导入到一个项目中。分享Ansible角色

如果我通过子目录组织他们,我碰到有关扶养相对路径

即共享角色需要知道将被安装在那里的它的相对位置,如果它使用元依赖

我想问题希望能够以刚才提到的一切对剧本是从运行的目录,虽然这不工作

roles/roleA/meta 
--- 
dependencies: 
    - { role: "{{ playbook_dir }}/roles/shared_roles/roleB"} 

roles/shared_roles/roleB 
... 

我试过多种选择和运行的想法。

我看着角色的路径http://docs.ansible.com/intro_configuration.html#roles-path

虽然我真的不希望有唯一命名的所有角色,因为他们应该被命名空间/分组。

由于

+0

共享角色目前由Maven打包并构建到目录中。如果我在所有共享角色中引用该目录,则会依赖关系解决。这似乎是一个解决方案。我会更新一个答案,如果它的工作...无论如何,没有人回答我的问题,所以它不像任何人正在阅读这 – 2014-09-23 18:06:12

回答

0

通过强制所有共享模块的所有依赖引用共享目录的名称解决它。

我想留下这个调用项目,并希望依赖关系将相对于角色目录。

该解决方案虽然工作,并提供命名空间,所以我可以包括具有相同名称的多个角色,只要他们在不同的目录中。

我现在有一个项目,包括3个独立的角色

PLAY RECAP ******************************************************************** 
staging : ok=214 changed=5 unreachable=0 failed=0 

其所有使用Maven,每个共享组是一个行家依赖内置的包。如果有人读这个,它可以帮助我分享结构/ poms等

+0

将我的问题移动到未来的谷歌组... https://groups.google.com /论坛/#!论坛/ ansible项目 – 2014-09-25 09:54:20