Могу ли я использовать два языка в приложении Heroku? - PullRequest
7 голосов
/ 13 марта 2012

Я хочу использовать Node.js в качестве сервера Share.js и Ruby для внешнего интерфейса.Насколько я знаю, Heroku допускает только один процесс, который называется «сеть».У кого-нибудь есть опыт попыток сделать что-то подобное?

Ответы [ 3 ]

9 голосов
/ 14 марта 2012

Нет, Heroku определяет тип приложения, когда вы отправляете свой код в Heroku, и компилирует слаг. Вы должны иметь их как отдельные приложения с определенным API между ними (не всегда плохо)

ОБНОВЛЕНИЕ: В наши дни вы можете «складывать» пакеты сборки, например, Ruby + PHP, чтобы вы оба могли выполнить. См. https://devcenter.heroku.com/articles/using-multiple-buildpacks-for-an-app, чтобы узнать, как использовать несколько пакетов в одном приложении.

3 голосов
/ 09 октября 2012

В качестве предостережения вы технически можете установить два языка в одном приложении - но я не уверен, что они будут запущены одновременно. Я сделал этот buildpack-пакет для объединения NodeJS и PHP (чтобы я мог запустить Grunt во время компиляции slug):

https://github.com/gcpantazis/heroku-buildpack-php-gruntjs

Распознавание языка обычно довольно тупое; он будет искать файл, указывающий на lang, то есть index.php или rakefile. Вам придется изменить мусорную корзину, чтобы ваш код прошел.

Обновление:

Еще лучше рассмотреть вопрос об использовании https://github.com/ddollar/heroku-buildpack-multi; это позволит вам устанавливать buildpacks последовательно. В зависимости от вашего приложения вам может потребоваться найти языковые пакеты сборки, в которых нет шагов проверки, т. Е. Проверять файл package.json в приложении NodeJS.

1 голос
/ 15 ноября 2015

Да, это в основном возможно, я полагаю, если вы не делаете что-то очень хитрое.Однажды я развернул приложение Flask (Python), в котором использовался Stanford CoreNLP - все написано на Java.Вам понадобится heroku-buildpack-multi .

После добавления этого файла убедитесь, что вы создали .buildbacks файл и добавили все необходимые вам пакеты сборки из Heroku github..

Это позволяет обойти Heroku, определяющий тип вашего приложения, и установить все необходимые пакеты сборки из файла .buildpacks.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...