11

Ansible を使用して Web サーバーの自動プロビジョニング プロセスをセットアップしています。このために、セットアップする仮想ホストを含​​む辞書を含む配列があります。

vhosts:
  -
    name: 'vhost1'
    server_name: 'domain1.com'
  -
    name: 'vhost2'
    server_name: 'domain2.com'

一般的な nginx vhost 構成を含むテンプレートを用意しました。

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 はイテレーターからテンプレートに現在の項目を渡さず、代わりに、テンプレートは現在有効なすべての変数にアクセスできます。

現在のアイテムをイテレータからテンプレートに渡す方法はありますか?

4

1 に答える 1