Я пишу книгу, которая устанавливает два одинаковых веб-приложения на разные машины. Для обоих приложений требуется собственная база данных MySQL / MariaDB. Я планирую передавать информацию MySQL (имя базы данных, имя пользователя и пароль) через внешние переменные, которые соответствуют определенным заполнителям в файле шаблона (например, mysql.php
).
У меня один и тот же файл для обеих установок приложения (например, ради, mysql.php
). У обоих есть заполнители для {{ db_name }}
, {{ db_user }}
, и {{ db_password }}
. Как я могу использовать несколько внешних переменных, которые я передаю в свою книгу, в каждой «установке» отдельно?
Если это не имеет смысла, я буду рад уточнить.
Вы можете включать файлы переменных во время выполнения.
Например, у вас может быть:
/<ansible-root>/environments/
/env-A.yml
/env-B.yml
Эти файлы будут содержать специфичные для сайта переменные, например:
---
variable_a: foo
variable_b: bar
... на который вы бы ссылались в своих пьесах со стандартным ({{ variable_a }}
) обозначение.
Когда вы запустите свой playbook, просто включите правильный файл:
$ ansible-playbook playbook.yml -e @environments/env-A.yml