Найти тему
Nuances of programming

Запускаем ваш первый веб-сайт на Rails + React

Источник: Nuances of Programming

Поздравляем, вы создали свое первое full-stack веб-приложение и теперь хотите выложить его в Интернет, чтобы показать своим друзьям, семье и будущим работодателям. С помощью этого руководства вы узнаете, как:

  1. Разместить свой бэкенд на Heroku.
  2. Перенести локальную базу данных Postgres на Heroku.
  3. Разместить интерфейс на Netlify.
  4. Добавить ключи API в приложение Netlify.

Бэкенд

Heroku  —  отличная платформа, с помощью которой можно разработать программное обеспечение для приложений Rails. Основные преимущества платформы заключаются в том, что она удобна для новичков, экономична, а развертывание выполняется быстро и легко. Перед началом работы вам необходимо будет загрузить и установить Heroku CLI, а затем создать учетную запись и войти в систему. После этого можно начинать процесс размещения своего бэкенда на Heroku. Введите в терминале следующую команду:

heroku create

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

git push heroku master

Команда git push добавит ваш репозиторий в приложение Heroku, которое вы создали с помощью первой команды. Повторно вводить имя не нужно, потому что команда heroku create создает удаленный git-репозиторий с именем heroku, указывающий на недавно созданное приложение.

heroku run rake db:migrate

Задачи rake на Heroku выполняются так же, как и на локальном компьютере. Этот шаг необходим для выполнения миграций:

heroku open

После успешной миграции необходимо проверить, работают ли маршруты должным образом. Итак, вы развернули свой бэкэнд!

**Дополнительно**

Если вы хотите, чтобы ваше приложение Heroku включало данные из вашей локальной базы данных, выполните следующие команды:

heroku pg:reset

heroku pg:push name-of-local-database DATABASE_URL
--app name-of-Heroku-app

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

heroku open

Теперь вы можете заменить маршруты в localhost новыми маршрутами в heroku в своем фронтенд-репозитории.

Фронтенд

Netlify  —  еще одна платформа для разработки ПО, однако она преимущественно ориентирована на фронтенд разработчиков. Netlify отлично подходит для размещения веб-интерфейса из-за своей скорости, непрерывного развертывания, простой настройки с помощью Git и технической поддержки в реальном времени.

После создания учетной записи в Netlify и настройки соединения с бэкендом Heroku во фронтенд-репозитории нажмите на кнопку «New site from Git» (Новый сайт на Git).

-2

Затем выберите необходимый Git Provider.

-3

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

-4

После того, как вы выберете фронтенд-репозиторий, появятся следующие параметры. Нажмите кнопку «Deploy site» (Развернуть сайт).

-5

Далее вы будете перенаправлены на панель управления вашего нового сайта, как показано на следующем изображении. В первую очередь следует обратить внимание на вкладку «Развертывание в рабочей среде», которая теперь называется «Building». В ней будут показаны все ошибки, а если их не будет, вы увидите, что сайт опубликовался.

-6

В журнале развертывания вы сможете найти подробную информацию о совершенных ошибках и способах их устранения. Также на платформе есть функция живого чата, в котором вам могут помочь другие пользователи. После исправления ошибок перейдите на вкладку развертывания и нажмите «Trigger deploy» (Запустить развертывание), чтобы повторить попытку:

-7

Когда все ошибки будут исправлены, вы увидите оповещение «Опубликовано», как на данном примере:

-8

Последний шаг  —  добавление ключей и токенов API в среду приложения. Для этого перейдите в настройки раздела Environment и убедитесь, что переменные названы так же, как в файле среды в вашем репозитории.

-9

Ну, вот и все  —  теперь ваше приложение размещено и готово увидеть свет!

Читайте также:

Читайте нас в Telegram, VK и Яндекс.Дзен

Перевод статьи Matthew Sedlacek: Launching Your First Website (Rails + React).