Давайте дружить в Телеграме: рассказываем про новые фичи, общаемся в комментах, прислушиваемся к вашим идеям Подписаться

Деплой приложения Hapi

Деплой проекта

Шаг 1. Заказ сервиса

Чтобы развернуть приложение, созданное на Hapi.js, перейдите в раздел Apps и кликните на кнопку «Создать».

Выберите Backend-приложение.

Step1

Шаг 2. Подключение репозитория

Если вы уже авторизованы в аккаунте GitHub, GitLab или Bitbucket, панель автоматически отобразит доступные репозитории. Выберите нужный.

37513073 880a 4d69 96ca E49b6b66fb43

Если вы авторизованы, но нужного репозитория нет в списке

3f31ba98 1140 4674 8a28 744638edfede

  1. Кликните «Добавить аккаунт».

  2. Выберите платформу.

  3. Авторизуйтесь при необходимости.

  4. Выберите нужные репозитории и сохраните изменения.

  5. Выберите в панели репозиторий для деплоя. 

Если вы еще не авторизованы

Step2

  1. Кликните GitHub, GitLab или Bitbucket.

  2. Авторизуйтесь в своем аккаунте.

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

  4. Выберите в панели репозиторий для деплоя. 

Шаг 3. Регион и конфигурация сервера

Приложение Hapi должно быть развернуто на отдельном облачном сервере. Выберите регион размещения сервера и его конфигурацию. 

Af9f847d C518 4416 Bed7 1579e16d8b14

В дальнейшем, если потребуется, вы сможете перейти на более мощный тариф.

Шаг 4. Настройка параметров сборки

B91ebe0b Feb6 49fb 9be8 C03997a0089f

1. Выберите окружение Node.js и фреймворк Hapi.

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

Для сборки приложения Hapi по умолчанию мы выполним следующее:

apt-get install -y nodejs --fix-missing
npm install pm2@latest -g
npm install hapi @hapi/hapi
  • Если в проекте есть файл package.json и используется yarn:
apt-get remove -y cmdtest yarn
npm install --global yarn
  • В остальных случаях при наличии package.json:
"cd /%s && npm i" % (DIRECTORY)

Если вы понимаете, что вам нужно модифицировать процесс сборки, вы можете указать дополнительную команду сборки или несколько, разделяя их с помощью &&.

На этом же этапе можно настроить переменные.

В качестве команды запуска по умолчанию будет использоваться:

pm2 start --no-daemon файл.js

Где файл.js — файл запуска приложения. Чтобы приложение корректно запустилось, он должен иметь имя app.js, server.js, main.js или index.js

3. Выберите ветку для деплоя.

4. По умолчанию мы включаем опцию «Сборка по последнему выполненному коммиту». В этом случае сервис Apps выполнит деплой по самому актуальному коммиту, а в дальнейшем будет автоматически пересобирать приложение при добавлении новых коммитов в репозиторий.

При необходимости вы сможете отключить автодеплой в дальнейшем.

Если вы хотите выбрать конкретный коммит вручную — отключите эту опцию.

A3215560 C7af 42a5 Aefd Be24cea7f387

5. Задайте свое имя приложения, если требуется, и комментарий к нему. Также выберите, в какой проект его нужно добавить.

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

Шаг 5. Деплой

Нажмите «Запустить деплой». Как только процесс начнется, вы увидите лог деплоя на вкладке «Деплой».

Как правило, он содержит всю необходимую информацию для устранения возможных ошибок. Если что-то пойдет не так, например, из-за наличия ошибок в коде, в логе будут выведены уведомления о них с уточнением причины проблемы. 

При первом развертывании проекта установка сервера может занять некоторое время. Как только процесс завершится, статус приложения обновится, а запись о завершении будет выведена в логе.

Group 1321314123

Готово! Ваш проект развернут и готов к работе.

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

IP-адрес приложения и бесплатный технический домен, привязанный к нему по умолчанию, можно найти на вкладе «Дашборд». Приложение будет доступно по 443 порту; порт 80 также открыт.

Без Названия

Устранение неполадок

Не удается выполнить развертывание

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

Зачастую проблемы связаны с командой запуска. Проверьте, что всё в вашей среде разработки работает с pm2. Убедитесь, что все модули, необходимые для запуска приложения, присутствуют в файле package.json.

Please add build instruction to your script section in package.json

Проблема связана с тем, что команда сборки yarn build обращается к файлу package.json, и если значение директивы build не указано, возникает ошибка.

Устранить ее можно двумя способами. Первый — добавить необходимые директивы в секцию scripts файла package.json. Подробнее об использовании scriptsздесь.

Второй вариант — оставить поле «Команда сборки» пустым.

Была ли статья полезна?

15 лет опыта
Сосредоточьтесь на своей работе: об остальном позаботимся мы
165 000 клиентов
Нам доверяют частные лица и компании, от небольших фирм до корпораций
Поддержка 24/7
100+ специалистов поддержки, готовых помочь в чате, тикете и по телефону