2016-03-03 4 views
0

Я работаю над незанятой книжкой, которая контролирует развертывание и обслуживание наших тестовых env. У нас есть база данных, java glassfish и activemq process и процесс nginx. У нас есть стандартная структура каталогов с ролями, а затем общая установка, запуск, остановка задач в каждой роли.ansible - непротиворечивая маркировка по ролям

site.yml 
roles 
    database 
     tasks 
      main.yml 
      install.yml 
      start.yml 
      stop.yml 
    glassfish 
     tasks 
      main.yml 
      install.yml 
      start.yml 
      stop.yml 
    nginx 
     tasks 
      main.yml 
      install.yml 
      start.yml 
      stop.yml 

В настоящее время у нас также есть несколько дополнительных корневого playbooks уровня

site.yml 
database.yml 
glassfish.yml 
nginx.yml 
start.yml 
stop.yml 
install.yml 
roles 

, которую мы называем непосредственно. Я хочу избавиться от них и иметь единственный site.yml, но я ищу рекомендацию о том, как я должен отмечать эти различные задачи. Существует ли рекомендуемое соглашение об именовании тегов, которое использовалось в stackoverflowers?

ответ

1

В общем я помечать свои роли с названиями самой роли, имея tasks/main.yml вроде этого:

- include: <rolename>.yml 
    tags: <rolename> 

Тогда все мои роли разделяют общий тег bootstrap, который применяется для задач, которые ухаживают друг -time, например создание структуры каталогов, установка конкретной версии пакета rpm/yum/apt и т. д. Таким образом, все вещи, которые будут иметь тот же результат и никогда не производят изменений, когда побежали во второй раз. Конфигурация приложения не является частью этого, так как это может измениться. Этот тег bootstrap обычно пропускается для ускорения воспроизведения и запускается только при первом воспроизведении нового хоста. Вероятно, это будет то, что у вас есть в вашем install.yml.

Для запуска, остановки и повторного запуска службы, при необходимости, есть метка <role>_<start/stop/restart>. Но это на самом деле редко используется, поскольку большинство служб только когда-либо перезапускаются, когда его конфигурация была изменена, и это делается с обработчиками.

Смежные вопросы