Ansible> = 2.0 çalıştırıyorsanız , bir yolun dizin bölümünü çıkarmak için kullanabileceğiniz bir dizin adı filtresi de vardır . Bu şekilde, her iki görevin de asla senkronize olmadığından emin olmak için tüm yolu tutmak için tek bir değişken kullanabilirsiniz.
Örneğin, böyle dest_path
bir değişkende tanımlanmış başucu kitabınız varsa , aynı değişkeni yeniden kullanabilirsiniz:
- name: My playbook
vars:
dest_path: /home/ubuntu/some_dir/some_file.txt
tasks:
- name: Make sure destination dir exists
file:
path: "{{ dest_path | dirname }}"
state: directory
recurse: yes
# now this task is always save to run no matter how dest_path get's changed arround
- name: Add file or template to remote instance
template:
src: foo.txt.j2
dest: "{{ dest_path }}"