假设我有这个编译角色,它的最后一个任务是从构建服务器获取已编译的二进制文件。
- name: "fetch release tar"
fetch:
src: "{{ project_path }}/rel/{{ app_name }}/releases/{{ app_version }}/{{ app_name }}.tar.gz"
dest: "~/releases/"
flat: yes
一旦这个角色完成,Ansible似乎要清理发布目录,大概是因为这些文件是临时的?有没有办法获取可以永久性?
答案 0 :(得分:1)
Tilde expansion由登录shell(bash,zsh,ksh等)处理。 Ansible不会自行执行任何代字号扩展,因此使用dest
参数中的一个会导致未定义的行为。
您应该硬编码目的地的完整路径,或者作为替代方案,您可以使用Ansible 1.5中添加的expanduser
filter来在您的剧本中执行此代字号扩展。< / p>