Развертывание приложения Flask и Node.js на heroku one git repo - PullRequest
0 голосов
/ 06 марта 2020

У меня есть репозиторий, и я хочу развернуть два приложения из него. Я настроил его как два разных приложения в Heroku.

Я использую Procfile для загрузки приложения Flask, и он развертывается должным образом, однако, когда приложение Node развертывается, оно также пытается использовать Procfile вместо использования пакета сборки Node, который я загрузил.

Есть ли способ исправить это, кроме разделения репозиториев?

Заранее спасибо.

1 Ответ

0 голосов
/ 06 марта 2020

Вы можете определить несколько рабочих в вашем Procfile.
https://devcenter.heroku.com/articles/procfile#more -process-type-examples

web: python main.py
app: npm start

Однако имейте в виду, что приложение может иметь только один активный веб-работник. Приложение flask, вероятно, будет использовать порт. И приложение вашего узла, скорее всего, тоже. В моем примере рабочий app не может открыть порт! Если это так, вам необходимо разместить репо в 2 отдельных приложениях Heroku (в этом случае измените app на web)

, чтобы смешать Python (Flask) и Node вам нужно будет установить несколько buildpack-пакетов. Вы можете позволить Heroku автоматически обнаруживать их с помощью requirements.txt, runtime.txt и package.json, но это ненадежно.

Вот почему вы должны определить ваши используемые пакеты в виде app.json https://devcenter.heroku.com/articles/app-json-schema#buildpacks

{
  "buildpacks": [
    {
      "url": "https://github.com/heroku/heroku-buildpack-nodejs"
    },
    {
      "url": "https://github.com/heroku/heroku-buildpack-python"
    }
  ]
}
...