Рубрики
Uncategorized

Развернуть свое приложение heale.js в Heroku за 5 минут

Когда я стал фрилансером, я боялся развертывания. Как сотрудник стартапа, у меня всегда был Luxur … Помечено NextJS, Heroku, Tulciory, DevOps.

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

Хотя развертывание может видеть пугающее, это не должно быть.

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

Предварительные условия для этого урока:

  • Git
  • учетная запись Heroku (если у вас ее нет, создайте учетную запись Здесь )
  • Heroku CLI (если у вас его нет, голова Здесь первый)
  • Установлен Node.js (на момент написания, Next.js требует node.js 10.13 или более поздней версии. Для получения дополнительной информации, прочитайте Nexts.js — Начало работы )

Я предполагаю, что, если вы читаете этот пост, у вас, скорее всего, есть один на вашем местном хосте. Но, чтобы быть на 100% уверенным, я покажу вам, как настройка.

npx create-next-app

# OR

yarn create next-app

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

Heroku запускает свои приложения в контейнерах Linux под названием Dynos Анкет Когда Heroku запускает веб -динамо, он устанавливает переменную под названием $ port. Чтобы получить входящие запросы, вам необходимо привязать к этому порту.

Для этого перейдите в свой пакет на уровне корня.

"scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start -p $PORT"
  }

Совет: Для получения дополнительной информации о различных типах диноров и о том, как они работают, здесь это документация Хероку.

Во -первых, мы будем использовать GIT, чтобы подтолкнуть наш код в Heroku. Вот почему вы должны преобразовать свое приложение в git Repo, если это еще не так.

git init
git add .
git commit -m "Initial commit"

Вы должны войти в CLI Heroku, чтобы сделать это (вы можете сделать это с командой Heroku Login ) Как только вы это сделаете, вы можете создать свое приложение:

heroku create $APP_NAME

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

git push heroku master

Совет: Если вы находитесь в филиале, отличной от Master (скажем, Main или Production), вы можете подтолкнуть свой код так:

git push heroku [your branch name]:master

После выполнения развертывания вы можете получить доступ к своему приложению по адресу https://[app_name] .herokuapp.com/.

И вуаля!

1) Ошибка R10 (Тайм -аут загрузки) -> Веб -процесс не смог привязать к порту $ в течение 60 секунд после запуска

Вы совершили свой код, подтолкнули его к своему приложению Heroku, открыли вкладку, чтобы просмотреть ваше новое блестящее приложение и …. ничего не загружается. Хуже того, вы получите сообщение о том, что произошла ошибка. Во -первых, сделайте эту команду, чтобы увидеть ваши журналы:

heroku logs --tail

И, бам!

Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch

Без паники. Скорее всего, вы забыли обновить свой Package.json. Вернитесь к этому файлу и убедитесь, что ваш стартовый скрипт имеет -p $ port обязательный.

2) Кэш сборки не найдена. Настройте кэширование сборки для более быстрых восстановлений

Вы можете увидеть это, когда вы подталкиваете свой код в Heroku, и ваше приложение создает. Это не ошибка, а предупреждение. Это не повредит вашему проекту, но приведет к более медленным сборкам. Для получения дополнительной информации вы можете прочитать Next.js документация по предмету Анкет

Чтобы исправить это, перейдите к своему Package.json и добавьте это:

"cacheDirectories": [".next/cache"]

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

Установите переменные среды в Heroku

У вас есть два способа в вашем распоряжении, чтобы установить переменные окружающей среды в Heroku.

1) Через терминал

Сначала вы можете увидеть все свои переменные:

heroku config

#If you just created your app, the result will probably be blank

Установите новую переменную. Это также перезапустит ваше приложение.

heroku config:set FOO=bar

Удалить переменную:

heroku config:unset FOO

2) Через приборную панель

Еще один способ добавления/редактирования/удаления переменных среды — через приборную панель.

Перейти к https://dashboard.heroku.com/apps и выберите свое приложение. Перейдите к настройкам. В соответствии с Config VAR вы сможете внести все необходимые изменения.

Автоматизированное развертывание

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

Для этого перейдите на приборную панель и выберите свое приложение. Под Развернуть вкладка, ищите Метод развертывания Анкет

Оттуда вы можете подключить свою учетную запись GitHub. Как только это будет сделано, вы можете выбрать репозиторий и ветвь.

Если вам понравилась статья, вы можете Следуй за мной в Твиттере Анкет

Оригинал: «https://dev.to/mariesta/deploy-your-next-js-app-to-heroku-in-5-minutes-ldn»