Tôi có một máy chủ được cung cấp Ansible duy nhất đang chạy một số trang web.
Nhiệm vụ Ansible của tôi trông đại khái như:
- 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
Tôi muốn sử dụng validate
tham số cho mô-đun mẫu của Ansible để gọi nginx -t
và đảm bảo các cấu hình mới của tôi có hiệu lực về mặt cú pháp. Nó hoạt động cho nginx.conf chính:
template: src=nginx.conf.j2 dest=/etc/nginx/nginx.conf
owner=root group=root mode=0444
validate="/usr/sbin/nginx -c %s -t"
Nhưng nó dường như không nhận các thay đổi đối với các tệp cấu hình dành riêng cho trang web. Đưa validate
vào các mẫu dành riêng cho trang web không hoạt động, vì chúng cần được gói trong một lệnh http
để có hiệu lực.
Tôi có thể làm gì để kiểm tra tính hợp lệ của các tệp dành riêng cho trang này?