Развертывание Node.js в Heroku

В этом коротком рассказе мы кратко рассмотрим простой проект Node.js, в частности, экспресс-сервер, предоставим несколько конечных точек и развернем их на Heroku.

Прежде чем мы начнем, ознакомьтесь с приведенными ниже предварительными условиями.

Предпосылки

  • Аккаунт Heroku
    Это не проблема. Вам необходимо иметь подтвержденную учетную запись на Heroku. Нет необходимости добавлять способ оплаты, такой как CC. Хотя это даст вам дополнительные бесплатные часы каждый месяц, это полностью зависит от вас
    Вот ссылка на Heroku — https://signup.heroku.com/
  • Установите популярный Git (популярный инструмент контроля версий)
    https://git-scm.com/downloads
  • Следующий на очереди инструмент Heroku CLI, который можно найти именно здесь
    https://devcenter.heroku.com/articles/heroku-cli#install-the-heroku-cli
  • Наконец, установите node.js, самый популярный фреймворк (наш фреймворк для этой статьи) прямо отсюда
    https://nodejs.org/en/download/

Обязательно установите LTS версию Node.js для максимальной совместимости. Я использую v16.14.0 на момент написания

Настройка сервера

Создать новый проект

Итак, давайте откроем ваш любимый редактор кода (для меня код Visual Studio)

Откройте терминал, указывающий на корневой каталог проекта, и создайте новый проект Node.

npm init

Это откроет форму в командной строке. Просто продолжайте нажимать «Далее» или введите значения, которые вы считаете подходящими (в основном связанные с названием проекта, ключевыми словами и т. д. Вот пример экрана).

Сделанный? Большой! Переходим к следующему шагу

Настройка Git

Для развертывания Heroku нам нужно настроить наш проект как репозиторий git. Просто введите следующие команды в корневой каталог проекта.

git init     // Setup up a new Git Repository
git add .    // Add already existing filed for Tracking changes
git stage .  // Add tracked files to the staging area
git commit -m "INITIAL COMMIT"  
// Commit all the changes in the staged area with a message

Теперь у нас есть проект Node.js, настроенный как репозиторий git, и начальные изменения зафиксированы.

Добавление зависимостей

Поскольку мы должны построить веб-сервер с помощью Express в нашем проекте, нам нужно добавить соответствующие зависимости пакетов. Пока нам нужен только экспресс-пакет. Используйте NPM (диспетчер пакетов узлов), чтобы добавить пакет

npm i --save express

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

Слишком??? Что ж, используйте более простую версию для этого проекта. Просто добавьте следующую строку в .gitignore

node_modules

Код это

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

Действительно очень просто!!!. Просто нажмите node app.js из корневого каталога, и ваш сервер будет работать локально на порту 80.

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

Это было все для простого стартового проекта. Теперь давайте перейдем к фактическому развертыванию

Развертывание в Heroku

Войти в интерфейс командной строки Heroku

Первое, что нужно сделать, это аутентифицировать инструмент CLI с нашими учетными данными Heroku. Откройте терминал и введите следующую команду

heroku login

Это откроет новую вкладку браузера, где вас встретит страница входа в Heroku. Завершите процесс и вернитесь в корень проекта.

Новое приложение Героку

Развертывания в Heroku управляются в виде приложений. При первом развертывании чего-либо Heroku создаст для него приложение, а для последующих развертываний версия приложения будет увеличиваться. Сначала создадим приложение

heroku apps:create <app-name>

Это создаст приложение Heroku с именем по вашему выбору (учитывая, что оно доступно). Это создает пустой удаленный репозиторий Git в домене Heroku, который будет добавлен в качестве удаленного в наш локальный проект. Мы отправим наши изменения в удаленную ветку, чтобы создать новое развертывание. Так что давайте делать именно это.

Развертывание в Heroku

С настроенным локальным Git и созданным новым приложением Heroku все, что нам нужно сделать, это отправить наши локальные изменения в удаленный репозиторий Heroku. Вот команда для того же

git push heroku master

Вуаля!!!!

Если все пройдёт нормально, вы получите URL-адрес, указывающий на приложение Heroku, код вашего сервера, размещенный в Интернете. Наслаждайтесь своим первым развертыванием на Heroku 🥂

Примечание. Для бесплатных развертываний Heroku переводит ваши приложения в спящий режим, если они остаются неактивными в течение 15 минут. Следующий вызов может занять больше времени, чем обычно, чтобы дать вам ответ, так как приложение буквально выходит из состояния сна (холодная загрузка).
Не беспокойтесь, так как последующие запросы будут выполняться молниеносно.

Наконец…..

Это было все для этого урока. Я надеюсь, что у вас было успешное развертывание. Оставайтесь с нами на Code Panthers, чтобы узнать больше таких карманных руководств и подробных серий по программированию и облаку.

Спасибо!!!