10
我正在使用Ansible爲Web服務器設置自動配置過程。對於這一點,我有一個包含有虛擬主機字典設置一個數組:如何使用ansible循環包含模板變量的數組?
vhosts:
-
name: 'vhost1'
server_name: 'domain1.com'
-
name: 'vhost2'
server_name: 'domain2.com'
我準備了一些通用的nginx的虛擬主機配置的模板:
server {
listen 80;
server_name {{ item.server_name }};
root /home/www/{{ item.name }}/htdocs;
index index.php;
location/{
try_files $uri $uri/ /index.php?$args;
}
}
最後,我用下面的任務複製準備模板到目標主機:
- name: Setup vhosts
template: src=vhost.j2 dest=/etc/nginx/sites-available/{{ item.name }}
with_items: vhosts
任務按預期重複遍歷vhost
變量。不幸的是,Ansible不會將迭代器中的當前項目傳遞給模板,而是模板可以訪問所有當前有效的變量。
有沒有辦法將當前項目從迭代器傳遞到模板?