Ansible从远程获取文件并保持在控制节点上?

时间:2015-11-04 21:10:06

标签: ansible ansible-playbook

假设我有这个编译角色,它的最后一个任务是从构建服务器获取已编译的二进制文件。

- name: "fetch release tar"
  fetch:
    src: "{{ project_path }}/rel/{{ app_name }}/releases/{{ app_version }}/{{ app_name }}.tar.gz"
    dest: "~/releases/"
    flat: yes

一旦这个角色完成,Ansible似乎要清理发布目录,大概是因为这些文件是临时的?有没有办法获取可以永久性?

1 个答案:

答案 0 :(得分:1)

Tilde expansion由登录shell(bash,zsh,ksh等)处理。 Ansible不会自行执行任何代字号扩展,因此使用dest参数中的一个会导致未定义的行为。

您应该硬编码目的地的完整路径,或者作为替代方案,您可以使用Ansible 1.5中添加的expanduser filter来在您的剧本中执行此代字号扩展。< / p>