Итак, мне поручили упаковать приложение Ruby. Идея состоит в том, чтобы устранить необходимость в apt-get каких-либо пакетах или установке gem. пакет все включено.
Я дошел до того, что нашел Omnibus (есть еще fmp-cooking, но, похоже, он не так известен)
Я разобрался с общей структурой омнибусных проектов, но теперь возникли проблемы со спецификой:
1) У меня есть куча рецептов, которые запускаются с Chef ВО ВРЕМЯ УСТАНОВКИ. Они настраивают конфигурации БД и nginx. Какой лучший способ запустить их на целевой машине?
2) Я добавил строку установки пакета в свои сценарии сборки, но теперь это дублирует мои требования. Например, nokogiri устанавливается дважды. Один раз как мой реальный проект Gem, а другой раз как еще одно требование омнибуса. Итак, я получаю 2 двоичных файла: один в /#{instal_dir}/embedded/bin и один в ${install_dir}/embedded/lib/ruby/.../gems, чтобы предотвратить это?