serverpec с использованием переменных среды в Rakefile

Serverspec используется для проверки на нескольких серверах. Поэтому используется рекомендованная структура ролей:

|-- Rakefile |-- spec |-- app | -- ruby_spec.rb |-- base | -- users_and_groups_spec.rb |-- db | -- mysql_spec.rb |-- proxy | -- nginx_spec.rb |-- spec_helper.rb

Для чтения данных и структуры я использую yaml-файл.

На сайте serverpec в Rakefile внутри Raketask находится следующее:
ENV['TARGET_HOST'] = host

Почему я должен устанавливать хост как переменную среды? Разве местного не хватит?


person Capri90    schedule 11.04.2016    source источник


Ответы (1)


По умолчанию spec helper использует его для нацеливания на хосты для net-ssh драгоценного камня. Вы можете реорганизовать код таргетинга на хост в spec_helper, чтобы даже не использовать его, если хотите, а затем просто используйте host_inventory в качестве имени хоста.

Обратите внимание на следующее:

https://github.com/mizzy/serverspec/blob/master/lib/serverspec/setup.rb#L276 https://github.com/mizzy/serverspec/blob/master/lib/serverspec/setup.rb#L292

Несмотря на анонимный отрицательный голос, это абсолютно правильный ответ.

person Matt Schuchard    schedule 21.05.2016