Переменная с несколькими ролями - PullRequest
1 голос
/ 28 мая 2019

У меня проблемы с получением правильной переменной на основе роли.

Возможно, у меня есть ответ, но я не уверен и не смог найти его в документации и здесь, в других вопросах.

TL; DR:

Несколько ролей в переменной используют OR, а не AND?

Intro

В Инфраструктуре мне назначено несколько ролей для машины:

  • WebServer
  • ApplicationServer
  • ApplA
  • ApplB

Переменная имеет два значения, каждое из которых имеет роль WebServer и ApplA или ApplB.enter image description here

В процессе используется та же комбинация Roles WebServer и ApplA (или WebServer и ApplB).enter image description here

Задача

Значение переменной ApplB используется на шаге с ApplA.

ItКажется, это потому, что он использует ИЛИ между ролями, а не И.

Правильно?

1 Ответ

1 голос
/ 31 мая 2019

Это верно.Если в области применяется несколько ролей, это означает, что переменная будет иметь это значение для обеих этих ролей по отдельности, а не вместе.Вы можете комбинировать области разных типов (например, DEV и ApplA), но не в одно и то же время.

В этом разделе документов есть немного больше информации о приоритете области действия и о том, что произойдет, если тамявляются противоречивыми значениями.

В процессе развертывания шаги «Развертывание сайта» будут выполняться для всех целей, имеющих WebServer или ApplA.Это может быть не то, что вам нужно.

В этом случае вы можете отказаться от роли веб-сервера для определения переменных и шагов развертывания или объединить их с другими тегами, чтобы сделать их немного более конкретными.,Вместо WebServer, ApplA и ApplB вы можете заменить их на ApplA-Web и ApplB-Web для использования в ваших шагах и переменных.

Надеюсь, это поможет!

...