具有文件夹 "files" 的 Ansible 角色

Ansible roles with folder "files"

我有一个角色 Jitsi。我想从文件夹 logo 复制文件 logo.png,还有 js.name.com.crt 和 js.name.com.key 到远程主机

/etc/ansible/roles/Jitsi/files#树

.
├── logo
│   └── logo.png
└── ssl
    ├── js.name.com.crt
    └── js.name.com.key

我有一个徽标任务:

- name: Copy files logo.png
  copy:
    src: /etc/ansible/roles/Jitsi/files/logo/logo.png
    dest: /usr/share/jitsi-meet/images/watermark.png
    remote_src: true

SSL 任务:

- name: Copy cert file js.name.com.crt
  copy:
    src: /etc/ansible/roles/Jitsi/files/ssl/js.name.com.crt
    dest: /etc/ssl/js.name.com.crt
    remote_src: true

- name: Copy  key file js.name.com.key
  copy:
    src: /etc/ansible/roles/Jitsi/files/ssl/js.name.com.key
    dest: /etc/ssl/js.name.com.key
    remote_src: true

但是当我执行剧本时,出现错误:

TASK [Copy cert file js.name.com.crt] ***************************************************************************************
fatal: [jitsi]: FAILED! => {"changed": false, "msg": "Source /etc/ansible/roles/Jitsi/files/ssl/js.name.com.crt not found"}

P.S。也许我可以为此使用一些变量?

复制模块将文件从本地远程机器复制到远程机器上的某个位置。本地或远程取决于参数 remote_src

的值

remote_src如果没有,会在controller节点上搜索src。 如果是,它将在托管(远程)节点上搜索 src。

所以按照 src 参数中定义的文件名,我想你的文件在控制器节点(本地主机)上,所以我建议你设置 no remote_src