Я пытаюсь организовать свои плейбуки в соответствии с структурой Directory Layout. В документации нет рекомендации для файлов/шаблонов, специфичных для хоста.
У меня есть 2 игры для одного сайта
- example.com-provision.yml
- example.com-deploy.yml
Эти файлы находятся в корне моей структуры. В учебном пособии для обеспечения просто включаются другие роли
---
- hosts: example.com
roles:
- common
- application
- database
become: true
become_method: su
become_user: root
В playbook для развертывания нет ролей, но есть собственные разделы vars
и tasks
. У меня есть пара задач template
и copy
, и мне интересно, что такое "лучшая практика" для размещения этих шаблонов/файлов, специфичных для хоста, в этой структуре каталогов.
В настоящее время я использую их в ./roles/example.com/templates/
и ./roles/example.com/files/
, но вам нужно ссылаться на файлы с полным путем из моей учебной программы для развертывания, например
- name: deployment | copy httpd config
template:
src: ./roles/example.com/templates/{{ host }}.conf.j2
# ...
вместо
- name: deployment | copy httpd config
template:
src: {{ host }}.conf.j2
# ...