Как подготовить надстройку mLab для моего приложения Heroku? - PullRequest
0 голосов
/ 21 апреля 2019

В моих приложениях для обзора Heroku не найдена переменная окружения MONGODB_URI, которая, как я ожидаю, будет автоматически предоставлена ​​дополнением mLab согласно документации .Мое приложение имеет app.json, которое определяет mongolab как надстройку и является приложением Node, поэтому я пытаюсь получить доступ к переменной через process.env.MONGODB_URI, но это undefined.

Я пыталсяпод управлением heroku addons:open mongolab -a my-app-pr-17, чтобы посмотреть на подготовленные базы данных, но я получаю сообщение "Не удалось найти это добавление" .

На вкладке ресурсов для приложения обзора в панели управления Heroku показаносообщение «Для этого приложения нет надстроек» .

Запуск heroku config -a my-app-pr-17 показывает пустой список.

Вот мой app.json файл.

{
  "name": "my-app",
  "addons": [
    "mongolab"
  ],
  "buildpacks": [
    {
      "url": "heroku/nodejs"
    }
  ]
}

Я ожидаю, что в моем коде узла process.env.MONGODB_URI - это URI с именем пользователя и паролем, как описано в документации .

1 Ответ

0 голосов
/ 22 апреля 2019

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

В моем случае я подключил GitHub, открыл запрос на извлечение, который создал приложение для рецензирования, а затем выдвинул дальнейшие коммиты для обновленияapp.json и добавьте дополнение mongolab .Я был сбит с толку, когда эти дальнейшие коммиты не создали для меня надстройку, но Heroku не синхронизирует изменения на протяжении всего жизненного цикла приложения.

При создании нового PR был создан новый обзорный документ, в котором былоДополнение mongolab автоматически устанавливается, как я и ожидал.Я вручную добавил надстройку в существующее приложение рецензирования, чтобы продолжить работу с ним.

...