Ansible使用对项的访问在循环中创建模板



我试图为数组中的每个项动态创建一个新的nginx主机。但是,我需要知道循环的细节。

- name: 'adding sites to nginx'
template:
src: 'nginx/template.conf.j2'
dest: '/etc/nginx/conf.d/{{ item }}.conf'
owner: 'root'
group: 'root'
mode: 0644
with_items:
- '{{ sites }}'

除了模板不能访问循环数据之外,这一点非常有效。(网站(我需要了解网站,这样我才能正确地生成模板。

我可以通过使用{{ item }}而不是{{ sites }}来获得访问权限。

- name: 'adding sites to nginx'
template:
src: 'nginx/template.conf.j2'
dest: '/etc/nginx/conf.d/{{ item }}.conf'
owner: 'root'
group: 'root'
mode: 0644
with_items:
- '{{ sites }}'

然后在template.conf.j2中,您可以通过瞄准{{ item }}来访问当前循环

server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name {{ item }}.{{ domain }};
set $base {{ app_path }}/{{ item }};
root $base/public;
# SSL
ssl_certificate /etc/letsencrypt/live/{{ domain }}/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/{{ domain }}/privkey.pem;
}

相关内容

  • 没有找到相关文章

最新更新