我在我的剧本中使用zzet.rbenv role。它有一个files/default-gems
文件,可以复制到配置的系统。
我需要我的剧本来检查myplaybook/files/default-gems
并使用如果它存在,否则使用zzet.rbenv/files/default-gems
。
我该怎么做?
答案 0 :(得分:3)
my_role/files/my_file.txt
与required_role/files/my_file.txt
区分开来。
问题的一种解决方法(我发现最容易和最干净的方法)是:
my_role
添加变量(覆盖默认值)示例强>
required_role
# Existing task
- name: some task
copy: src=roles_file.txt dest=some/directory/file.txt
when: my_file_path is not defined
# My custom task
- name: my custom task (an alteration of the above task)
copy: src={{ my_file_path }} dest=/some/directory/file.txt
when: my_file_path is defined
my_role
#... existing code
my_file_path: "path/to/my/file"
正如 Ramon de la Fuente 所述:此解决方案已被zzet.rbenv repo接受:)