У меня есть один предоставленный Ansible сервер, на котором работает несколько сайтов.
Мои Ansible задачи выглядят примерно так:
- name: site nginx config
template: src="nginx-site.conf.j2" dest=/etc/nginx/conf.d/{{item.name}}.conf
owner=root group=root mode=0444
with_items: sites
notify: restart nginx
- name: nginx conf
template: src=nginx.conf.j2 dest=/etc/nginx/nginx.conf
owner=root group=root mode=0444
notify: restart nginx
Я бы хотел использовать validate
параметр модуля шаблона Ansible для вызова nginx -t
и проверки того, что мои новые конфигурации синтаксически допустимы. Это работает для основного nginx.conf:
template: src=nginx.conf.j2 dest=/etc/nginx/nginx.conf
owner=root group=root mode=0444
validate="/usr/sbin/nginx -c %s -t"
Но, похоже, он не подхватывает изменения в конфигурационных файлах для конкретного сайта. Размещение validate
на сайте шаблонов не работает, так как они должны быть включены в http
директиву, чтобы быть действительными.
Что я могу сделать, чтобы проверить правильность этих файлов, специфичных для сайта?