我在角色中有一个复制任务,我期待src
位置与角色本身相关,而不是调用角色的剧本。
我如何使用myfrole/files
中的任务来使用myrole/tasks
中的文件,我不想将角色名称作为路径的一部分包含在内,因为它没有多大意义。如果我这样做,如果我复制角色会破坏。
如果你没有提供任何路径,只需要文件名,Ansible将从角色的files
目录中自动选择它。
另外,自Ansible 1.8以来,你可以在你的role_path
任务中使用变量copy。
- copy:
src: "{{ role_path }}/files/foo.conf"
dest: /etc/foo.conf
您不需要指定要复制的文件的路径,只要它存储在files
目录中即可。
以下是您的角色应如何:
my-awesome-role
├───files
│ my-awesome-file
└───tasks
main.yml
以下是在tasks/main.yml
中调用副本的方法:
- copy:
src: my-awesome-file
dest: '{{ some_destination }}'