Как собрать и установить rails-зависимости приложений на разных хостах - PullRequest
0 голосов
/ 20 декабря 2010

У меня есть приложение rails 3, которое я хотел бы развернуть.В моей среде развертывания не установлены инструменты сборки, и я не могу установить зависимости с собственными расширениями.

У меня есть узел сборки, настроенный с помощью инструментов сборки, которые могут создавать собственные расширения.

Как развернутьсобственные расширения с моего хоста сборки?

Я пытался сделать bundle package на хосте сборки и bundle install --local на удаленном хосте.Он правильно устанавливает гемы без собственных расширений, но все еще пытается построить собственные расширения на рабочем хосте.

Ответы [ 2 ]

0 голосов
/ 21 июня 2011

Я попал в кастомный файл deploy.rb.Надеюсь, я смогу назвать его драгоценным камнем, который расширяет Capistrano (хотя все еще не совсем доволен им)

0 голосов
/ 20 декабря 2010

Это плохая практика для сборки на ваших производственных серверах.

Когда я развертываю Django или Rails, я всегда создаю набор инструментов для всего, что не охватывает система управления пакетами ОС.Затем я разрабатываю и внедряю с этим набором инструментов.Это гарантирует, что все используют одни и те же версии инструментов.

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

Например, в настоящее время я использую Django в RedHat.RedHat не использует последнюю версию python, и многие из библиотек python, которые я использую rev, чаще, чем сопровождающие репозитория, подхватывают их.В результате часто нет RPM для последней версии программного обеспечения.Я создаю каталог toolchain, скомпилировал python на всех библиотеках, которые мне нужны, в этот каталог.Затем я собираю его в RPM для развертывания.

  • toolchain /
    • bin /
      • python
      • ...
    • lib /
      • python2.7 /
      • ...
      • site-packages /
        • ...
    • включая /
    • ...
...