如何为角色提供剧本中的文件?

How to provide role with files from the playbook?

我有一个 "common" 角色,主要用于在服务器上安装我的工具,包括 VIM 主题。现在,我不想在角色中包含这个 VIM 主题,我想发布这个角色并允许人们安装他们选择的主题,所以我想让他们使用剧本提供它层。我显然知道如何从剧本传递给角色变量,但如何解决其他资源(如文件)的问题?

您可以在您的角色中使用相对路径,并希望这些文件位于 playbook 目录中,而不是在 roles/myrole/files 子文件夹中。

例如,您角色中的一项任务:

- copy: src=test.txt dest=/tmp/

和这个结构:

./playbook.yml
./test.txt
./roles/myrole/tasks/main.yml

会成功找到test.txt并复制到/tmp目录下。