Как новичок, мы обычно создаем несколько проектов, приложений, но это только половина головоломки. Мы также хотим, чтобы мир получил доступ к этим приложениям, будь то демонстрация, потенциальный рекрутер или просто для того, чтобы показать их всем, чтобы использовать и протестировать нашу новую сумасшедшую идею. А для этого нам нужно развернуть эти приложения на общедоступном сервере.

Эта статья покажет вам, как легко развернуть ваше первое приложение Node.js на Heroku.

Это не учебник, который поможет вам изучить Node.js. Предполагается, что вы завершили разработку и готовы к развертыванию. Тем не менее, мы настроим базовый проект node js с самого начала и развернем его.

Этот учебник будет охватывать:

  • Создание примера приложения Node.js
  • Развертывание примера приложения Node.js
  • Развертывание с помощью Heroku CLI
  • Автоматическое развертывание с помощью Git

Предполагая, что на вашем компьютере установлен node.js, выполните следующие шаги.

Создание примера приложения Node.js

Создайте папку, откройте cmd, перейдите в папку, которую вы создали, и запустите npm init, это создаст файл package.json. Он предложит вам несколько входных данных, включая имя, версию и т. д. вашего приложения. Для этого примера мы примем все значения по умолчанию.

Теперь у вас будет файл package.json.

//package.json
{
  "name": "first-node-app",
  "version": "1.0.0",
  "description": "my first nodejs express app",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}

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

npm install express --save

Теперь в вашем package.json добавьте “start”: “node index.js” внутри объекта scripts.

Теперь создайте файл server.js и добавьте приведенный ниже код.

const express = require('express');
const app = express();
 
app.get('/', (req, res) => {
  res
    .status(200)
    .send('Hello server is running')
    .end();
});
 
// Start the server
const PORT = process.env.PORT || 8080;
app.listen(PORT, () => {
  console.log(`App listening on port ${PORT}`);
  console.log('Press Ctrl+C to quit.');
});

Теперь вы можете протестировать это приложение локально, запустив

npm start

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

web: node server.js

Развертывание примера приложения Node.js

Создайте учетную запись Heroku бесплатно здесь. Если у вас уже есть учетная запись, войдите в систему и перейдите в панель управления.

Здесь вам нужно создать новое приложение.

И введите уникальное имя приложения

Развертывание с использованием Heroku CLI

Вам необходимо установить Heroku CLI на свой компьютер, вы можете установить его здесь и проверить установку, запустив heroku --version.

Если вы столкнулись с какой-либо проблемой с указанным выше методом установки, вы можете запустить команду npm install -g heroku, предполагая, что у вас установлены npm и узел, и попытаться проверить еще раз.

Теперь, когда установка прошла успешно, вам нужно перейти к проекту на стороне сервера и выполнить приведенную ниже команду в терминале.

heroku login

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

Теперь инициализируйте репозиторий git в вашем рабочем каталоге и подключите его к вашему приложению Heroku, используя вторую команду с именем вашего приложения.

$ git init
$ heroku git:remote -a unique-app-name-to-be-entered

Теперь вы можете добавить и зафиксировать основную ветку Heroku, используя следующие команды.

$ git add .
$ git commit -m "your commit message"
$ git push heroku master

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

Автоматическое развертывание с помощью Git

Теперь развертывание завершено, но всякий раз, когда вы вносите изменения в свой код, вам придется отправлять свои изменения в Heroku git для развертывания ваших изменений. И у вас, скорее всего, будет репозиторий git hub, в котором вы уже фиксируете свой код, и мы не хотим каждый раз выполнять эту дополнительную работу.

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

Для этого вы можете зайти в свое приложение Heroku. В разделе развертывания вам нужно выбрать второй вариант GitHub. (Если ваша учетная запись Heroku не подключена к git hub, вам придется войти в Github и подключить свою учетную запись GitHub.) И вы сможете увидеть поле ввода для поиска в репозитории, связанном с вашей учетной записью git hub. Вы можете найти свое репо и нажать «Подключиться».

Как только репозиторий подключен, вы можете выбрать включить автоматическое развертывание, и теперь все готово, когда в репозиторий Github отправляется push-уведомление. Heroku автоматически развертывает изменения.

Спасибо за чтение и комментарии ниже, если вы столкнулись с какой-либо проблемой или хотите предложить лучшие способы.