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

Когда я начинал как разработчик, я помню, как слово «развертывание» меня до чертиков напугало. Честно говоря, так было до тех пор, пока я недавно не понял, что мы используем для развертывания!

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

Мы будем делать следующее:

  • Создание приложения React.
  • Развертывание с помощью Heroku.
  • Подключение вашего пользовательского доменного имени к вашему приложению.

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

Давайте начнем!

1. Ваше приложение React

Предполагая, что вы знакомы с React, я пропущу длинное описание и скажу, что это библиотека JavaScript, используемая для создания интерфейсов. Что в ней такого крутого, так это то, что это компонентная библиотека, обеспечивающая возможность многократного использования логики во всем приложении. Более подробную информацию можно найти в официальных документах.

Давайте откроем терминал и создадим наше приложение React с помощью следующей команды:

npx create-react-app my-app

Create-react-app подготовит для нас совершенно новое приложение React, так что теперь мы можем просто запустить его следующим образом:

cd my-app && npm start

Вы должны увидеть экран ниже:

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

2. Heroku

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

Поэтому прежде всего убедитесь, что вы зарегистрировались в Heroku.

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

Установка Heroku CLI

Если вы работаете на Mac, выполните приведенную ниже команду, чтобы установить интерфейс командной строки. Вы можете найти альтернативные варианты установки для Windows и Linux на cli-странице Heroku:

brew tap heroku/brew && brew install heroku

После завершения установки убедитесь, что она установлена ​​правильно, запустив:

heroku — version

Вы должны увидеть что-то вроде этого:

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

Теперь мы готовы войти в систему, используя те же учетные данные, которые мы использовали ранее для регистрации через веб-сайт Heroku:

heroku login

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

Кроме того, вы можете запустить heroku login -i, чтобы войти в систему через сам терминал. Оба варианта будут делать то же самое.

Теперь мы готовы настроить нашу среду Heroku и развернуть приложение React!

Создание нашего приложения на панели управления Heroku

Прежде чем мы перейдем к этому шагу, важно, чтобы репозиторий git был инициализирован, поэтому запустите git init в своем терминале.

Затем выполните следующую команду, заменив <app-name> именем вашего приложения:

heroku create <app-name> — b https://github.com/mars/create-react-app-buildpack.git

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

Давайте посмотрим на приведенную выше команду.

Флаг -b относится к пакету сборки. После развертывания Heroku автоматически определит язык вашего приложения и назначит соответствующий пакет сборки, чтобы помочь в сборке для производства (например, пакет сборки Node.js для приложений JavaScript). Однако с React вам нужно будет назначить этот пакет сборки вручную, чтобы убедиться, что Heroku знает, что это приложение create-react-app, и, таким образом, может найти ваш файл точки входа.

Если вы теперь перейдете в панель управления Heroku, вы увидите свое недавно созданное приложение:

Развертывание приложения Heroku

Heroku делает этот шаг очень простым с помощью всего одной простой команды:

git push heroku master

Если все пойдет хорошо, вы увидите на своем терминале следующее:

Запуск heroku open откроет браузер с развернутым приложением!

Обратите внимание на доменное имя, которое по умолчанию соответствует формату Heroku <app-name>.herokuapp.com.

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

3. Пользовательский домен

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

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

После входа в систему перейдите на панель управления, где вы сможете увидеть свои домены, затем нажмите «Управление» на том, который вы хотите подключить к Heroku.

В завершение мы сделаем две вещи:

  1. Настройка наших редиректов.
  2. Добавление нашей информации Heroku, чтобы наше доменное имя указывало на наше приложение.

Перенаправления

Убедитесь, что вы находитесь на вкладке «Домен», и прокрутите вниз до раздела «Домен перенаправления». Используя собственное доменное имя, добавьте строку, которая выглядит так:

Это гарантирует, что ваше приложение будет перенаправлено в формат http: // и будет по-прежнему доступно пользователям без необходимости вводить его.

Подключение к Heroku

Вернитесь в свою панель управления Heroku и щелкните новое созданное приложение. На вкладке Настройки прокрутите вниз до Домены и добавьте свой собственный домен с префиксом http: //.

Должна появиться новая строка со значением DNS Target в виде случайно сгенерированного URL. Скопируйте этот URL-адрес и вернитесь на панель управления Namecheap.

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

Примечание: для тех из вас, кто раньше пользовался услугами других хостинг-провайдеров, Heroku работает немного иначе, поскольку они не предоставляют услуги провайдера DNS. Таким образом, информация, которую вы получаете от них, - это не серверы имен как таковые. Я оставил ссылку внизу для получения дополнительной информации по этому поводу.

Здесь нам понадобятся две записи для таблицы Advanced DNS:

Первой будет строка записи переадресации URL со следующими значениями:

  1. Тип: Запись перенаправления URL
  2. Хозяин: @
  3. Значение: http: // ‹your-domain-name›

Второй будет строкой записи CNAME со следующими значениями:

1. Введите: запись CNAME.

2. Хост: www

3. Значение: случайно сгенерированная строка, которую вы взяли с панели управления Heroku.

У вас должно получиться что-то вроде этого (где test-dns-record заменяет ваше собственное значение):

OK! Все готово. Это может занять некоторое время, хотя обычно это занимает не более пары часов.

Вы можете проверить его статус на панели управления Heroku в разделе «Домены». Когда он будет запущен, вы увидите зеленый значок ОК.

Теперь осталось только проверить свой сайт!

Перейдите в свой личный домен в браузере, и вы должны увидеть то же приложение create-response-app, которое вы развернули ранее:

На этом этапе я хочу указать на то, что если вы когда-нибудь забудете добавить пакет сборки create-react-app в свое приложение, вы можете сделать это позже через панель управления Heroku. Просто щелкните приложение, перейдите на вкладку «Настройки» и прокрутите вниз до «Сборочные пакеты». Вы сможете добавить туда URL пакета сборки.

Заключение

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

Если возникнут вопросы, смело задавайте их в комментариях!

Ресурсы