Автор оригинала: Bolaji Ayodeji.
Heroku – это облачная, полностью управляемая платформа как услуга (PAAS) для строительства, бега и управления приложениями. Платформа является гибкой и разработана с помощью поддержки DX для вас и предпочтительным стилем разработки вашей команды, и помочь вам оставаться сосредоточенным и продуктивным.
Разработчики, команды и предприятия всех размеров используют Heroku для развертывания, управления и масштабирования приложений. Создаваете ли вы простой прототип или важный важный продукт, полностью управляемая платформа Heroku дает вам самый простой путь для быстрого доставки приложений.
С функциями, такими как Heroku Runtime, Heroku Postgres (SQL), Heroku Redis, Add-ons, клипы данных, метрики приложений, смарт-контейнеры, поддержку сорта предприятия, интеграция GitHub и многое другое, Heroku предоставляет разработчикам свободу сосредоточиться на их основном продукте Без отвлечения обслуживания серверов, оборудования или инфраструктуры.
Одним из основных функций Heroku является развертывание, управление и масштабирование приложений с вашими любимыми языками [узел, Ruby, Python, Java, PHP, GO и многое другое]. В этой статье я покажу вам, как взять существующее приложение Node.js и развернуть его в Heroku – все от создания вашей учетной записи Heroku, чтобы добавить базу данных в ваше развернутое приложение.
Предпосылки
В моей предыдущей статье я писал о « построить Slackbot с Node.js и slackbots.js », и я пообещал написать последующую статью, чтобы показать, как провести расслоение на Heroku, Zeit или NetLify и Опубликуйте его в магазин Slack Apps. Ну, это последующая статья, но без участия «публикации на слабые приложения». Мы покроем это в другой статье.
Я предполагаю, что у вас уже есть/знают следующее уже:
- Читайте мой Предыдущая статья
- Построил Inspirenuggets Slackbot
- Git, Node и NPM установлены
- Бесплатный Учетная запись Heroku
- Heroku Cli установлены
Бонус
Если у вас нет NPM, узел, и Heroku CLI, уже установлена учетная запись Heroku уже, вот быстрый бонус [Да, пожалуйста:)].
Установка NPM и узла
- Node.js Программа выполнения JavaScript построена на HOROMES V8 JavaScript Engine Отказ
- NPM Менеджер пакета для Node.js. Проект с открытым исходным кодом, созданный, чтобы помочь разработчикам JavaScript легко поделиться упакованными модулями кода.
Вы можете просто скачать Node.js здесь Отказ Не волнуйтесь, NPM поставляется с Node.js, поэтому это устанавливает оба ✨
Создание бесплатного аккаунта Heroku
Пожалуйста, голова здесь и заполните форму регистрации. Это довольно просто.
Установка Heroku Cli.
Интерфейс командной строки Heroku (CLI) позволяет легко создавать и управлять своими приложениями Heroku прямо из терминала. Это неотъемлемая часть использования Heroku. [Ну, вы можете решить использовать функцию интеграции GitHub и панель инструментов Heroku Но да, вы должны научиться использовать CLI] Heroku CLI требует Git, популярная система управления версиями. Если у вас еще нет Git, я написал Эта статья чтобы помочь вам.
Heroku CLI для Mac OS
brew tap heroku/brew && brew install heroku
или Загрузите установщик Отказ
Heroku Cli для Ubuntu
sudo snap install --classic heroku
Heroku CLI для Windows
Загрузите установщик для 64-битный или 32-битный Отказ
Другие методы установки
Пожалуйста, прочитайте это Отказ
Начало работы с Heroku Cli
- Проверьте свою установку
heroku --version
Heroku/7.30.1 Linux-X64 Node-V11.14.0
- Войдите в свою учетную запись Heroku
Есть два способа сделать это:
- Web на основе auth.
heroku login
Следуйте инструкциям и вхожу в систему через ваш веб-браузер, затем вернитесь к вашему терминалу.
- CLI Auth
Это более безопасный вариант, поскольку он сохраняет ваш адрес электронной почты и токен API для ~/.netrc для будущего использования.
heroku login -i
Развертывание вашего приложения Node.js
Я предполагаю, что вы уже построили Slackbot. Если у вас нет, пожалуйста, клонировать Готовый проект Отказ
Проект представляет собой простым расслоением, который отображает случайные вдохновляющие цитаты и шуты для разработчиков/дизайнеров.
git clone https://github.com/BolajiAyodeji/inspireNuggetsSlackBot.git && cd inspireNuggetsSlackBot
Теперь давайте разверним наше приложение к Heroku ??. Я покажу вам два способа сделать это:
Развертывание через Geroku Git
Это сделано через Heroku CLI.
☑️ контрольный список
- Укажите версию Node.js, которые будут использоваться для запуска вашего приложения на Heroku в вашем
Package.jsonфайл.
"engines": {
"node": "10.16.0"
},
- Укажите свой начальный скрипт. Просто создайте
Procfile(без какого-либо расширения файла) и добавьте
web: node index.js
Heroku First ищет этот Proffile. Если никто не найден, Heroku попытается запустить веб-процесс по умолчанию через сценарий запуска в вашем Package.json Отказ
- Начните свое приложение локально, используя локальную команду Heroku, чтобы убедиться, что все работает нормально
heroku local web
Ваше приложение теперь должно работать на http://localhost: 5000 Отказ
- Не забудьте
.gitignore.
/node_modules .DS_Store /*.env
? Давайте развернумся
Как это работает, у вас уже есть проект, работающий на местном месте, и вы уже оттолкнулись к GitHub.
- Беги
Heroku Создайте
По сути, эта команда создает новое приложение Heroku для вас с некоторым случайным образом сгенерированным доменом и добавляет Heroku в ваш локальный репозиторий Git.
- Сейчас беги
Git Push Heroku Master
Это волшебная команда, он толкает ваше приложение к Heroku, устанавливает его там и запускает его на выделенном домене.
В приведенном выше примере это https://lit-cove-58897.herokuapp.com/
Вы всегда можете внести изменения в ваши настройки приложения и домены в вашем Heroku Dashboard
- Теперь посетите свое приложение в своем браузере
heroku open
- Вы также можете просмотреть информацию о вашем запуске приложения, используя одну из команд регистрации. Это очень полезно при ошибках отладки.
heroku logs --tail
Развертывание через Github Integration
Вы можете настроить интеграцию GitHub на вкладке «Развертывание приложений» в Heroku Dashboard Отказ
☑️ контрольный список
- Все предыдущие контрольные списки применяются здесь – убедитесь, что у вас уже есть приложение для GitHub
? Давайте развернумся
Как работает этот метод, это то, что вы толкаете весь проект в GitHub и интегрируете его в Heroku. Каждый раз, когда вы нажимаете, это развертывается из GitHub в Heroku. Довольно круто верно?
- Войдите в свою приборную панель Heroku и создайте новое приложение
- Выберите имя вашего приложения и региона
Теперь ваше приложение успешно было создано
- Перейдите на вкладку «Развертывание» и прокрутите «|» Метод развертывания раздел
- Нажмите на Подключиться к Github кнопка
- Теперь у вас есть Подключиться к разделу GitHub Поиск репозитория и развертывания.
- Теперь ваше приложение было успешно развернуто
Автоматическое развертывание
Теперь ваше приложение развернуто, но вам придется продолжать развертывание вручную. Вам необходимо включить автоматическое развертывание для филиала GitHub, поэтому Heroku строит и развертывает все толкает к этой ветке.
- Прокрутите до Автоматическое развертывание раздел
Выберите ветку, которую вы хотите развернуть. В идеале это должно быть Мастер ветвь, но измените это в соответствии с вашими предпочтениями.
Теперь каждый толчок в Мастер (или филиал, которую вы выбрали), развернут новую версию этого приложения.
Node.js buildpack.
В Heroku Buildpacks являются сценариями, которые работают, когда ваше приложение развернуто. Они используются для установки зависимостей для вашего приложения и настроить среду.
После развертывания вашего приложения убедитесь, что вы добавляете Node.js Buildpack в ваш проект.
- Перейти к Настройки и прокрутите до Секция Buildpack
- Нажмите на Добавить Buildpack Кнопка и выберите Node.js в всплывающем модальном модале.
- Теперь новый конфигурация Buildpack будет использоваться, когда это приложение будет следующим развертываемым. Сделайте некоторые изменения в ваше приложение и нажмите на GitHub – он автоматически развернут.
Добавление базы данных в ваше развернутое приложение
Add-на рынке Heroku имеет большое количество магазинов данных, от Redis и MongoDB поставщиков, до Postgres и MySQL.
Heroku предоставляет три удаленные данные для всех клиентов в форме надстройки:
Писать об этом три сделает эту статью слишком долго. Это довольно просто, и я добавлю некоторые ссылки на документы Heroku.
Заключение
Каждая учетная запись Heroku выделяется пул свободных часов Dyno. Heroku (Free) Dynos отлично подходит для проведения приложений и личных проектов. Недостаток, однако, в том, что ваше приложение заснет, если он не получает веб-трафик в течение 30 минут:(.
Вы можете использовать внешние инструменты, чтобы периодически пингировать свой сервер, чтобы он никогда не заснул.
Вот некоторые рассмотрены:
Опыт Heroku предоставляет услуги, инструменты, рабочие процессы и поддержку полиглота – все, что предназначено для повышения производительности разработчика. Еще можно использовать Heroku, и я надеюсь, что вы изучите больше и построить удивительные вещи с Heroku.
Если вы студент, пожалуйста, зарегистрируйтесь на Github Student Developer Pack Чтобы получить один бесплатный Хобби Дино до двух лет.
Пакет предоставляет студентам бесплатный доступ к лучшим инструментам разработчика в одном месте, чтобы вы могли учиться, делая.
Оригинал: “https://www.freecodecamp.org/news/how-to-deploy-a-node-application-and-database-to-heroku/”