Передовая практика всегда не является лучшей для каждого варианта использования. Для вашего конкретного использования это должно быть так, как описано ниже:
Создавайте несколько инвентаризаций простым способом и классифицируйте их с точки зрения функциональности серверов. Например, создайте отдельные инвентаризации для каждой среды:
application dev server inventory
application test server inventory
application prod server inventory
jira test server inventory
jira prod server inventory
solr prod server inventory
jenkins build slave inventory
в то время как каждый инвентарь будет иметь классическую структуру, например:
![введите здесь описание изображения](https://i.stack.imgur.com/bff9S.png)
Когда у вас есть все эти запасы, у вас может быть коллекция простых сценариев оболочки, которые могут составлять несколько сборников сценариев, например сценарий оболочки для серверов приложений:
echo "***********************************"
echo "****INFO:- Performing deployment: on app servers"
echo "***********************************"
ansible-playbook $deploy_component_playbook1 -i $INVENTORY_PATH/application-dev-server/hosts --extra-vars " " # define env varaibles inside " "
ansible-playbook $deploy_component_playbook2 -i $INVENTORY_PATH/application-test-server/hosts --extra-vars " " # define env varaibles inside " "
ansible-playbook $deploy_component_playbook3 -i $INVENTORY_PATH/application-prod-server/hosts --extra-vars " " # define env varaibles inside " "
Определите эти переменные deploy_component_playbook1, deploy_component_playbook2, deploy_component_playbook3
с соответствующими именами ваших книг воспроизведения с абсолютным/относительным путем.
Переменная INVENTORY_PATH
должна быть абсолютным путем к директору инвентаризации, где размещаются все различные инвентари.
Переменные среды могут быть определены, как я упоминал после --extra-vars
внутри " ".
Точно так же у вас может быть сценарий оболочки для других комбинаций плейбуков. В конце все, что вам нужно, это запустить нужный сценарий оболочки.
person
TechMaster
schedule
31.07.2018