Як задеплоіть веб-додаток на зв`язці React і Redux за 10 хвилин

Якщо ви шукаєте спосіб швидко продемонструвати колегам та клієнтам ідею свого веб-додатка, розгорнувши його на сервері, ця стаття для вас.

Ви отримаєте аналогічне додаток після виконання цих дій:

  • локальна установка ReactJS за допомогою шаблону;
  • настройка «кошика» AWS (Amazon Web Services) S3;
  • створення облікових даних користувача AWS для завантаження файлів на S3;
  • розгортання шаблону на AWS;
  • перевірка працездатності.

Необхідні інструменти:

1. Установка ReactJS

Клонуємо шаблон (запустіть команду в терміналі), замінивши «NameOfApp» на ім’я свого застосування:

$ git clone -o onederful-quickstart -b master --single-branch \
       https://github.com/alxyee/onederful-quickstart.git NameOfApp
$ cd NameOfApp

Встановлюємо всі бібліотеки:

$ yarn install

Запускаємо React по локальній адресі http://localhost:3000/ (запуск може зайняти кілька секунд):

$ yarn start

Установка ReactJS

2. Налаштування кошика AWS S3

Входимо в свій аккаунт на AWS і вибираємо S3:

Входимо в свій аккаунт на AWS і вибираємо S3

Натискаємо «Create bucket» і вводимо ім’я (наприклад: onederful-quickstart). Натискаємо «Далі» на всіх інших кроках і створюємо кошик (bucket):

Тепер відкриваємо тільки що створену кошик:

Після появи спливаючого вікна натискаємо на «Properties»:

Натискаємо на «Static website hosting» і вводимо «index.html» в кожному з полів «Index document» і «Error document». Тепер у нас є загальнодоступний URL:

Переходимо на вкладку «Permissions», замість [YOUR BUCKET NAME] вписуємо свою назву проекту:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowPublicRead",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::[YOUR BUCKET NAME]/*"
        }
    ]
}

3. Створюємо облікові дані користувача AWS для завантаження файлів на S3

В консолі управління AWS натискаємо на «IAM» (Identity Access Manager):

Переходимо на вкладку «Users», що знаходиться на бічній панелі, і додаємо користувача з ім’ям «s3-admin»:

Прикріплюємо «AmazonS3FullAccess policy»:

Після створення користувача зберігаємо ідентифікатор доступу і секретний ключ (наприклад, в блокноті) – вони будуть використовуватися на останньому етапі цього керівництва:

4. Публікуємо шаблон на AWS

Замініть наступні дані у файлі tools/s3-upload.js:

  • YOUR_BUCKET_NAME – на назву кошика (з другого кроку);
  • YOUR_AWS_ACCESS_KEY – на свій ідентифікатор доступу (з третього кроку);
  • YOUR_AWS_SECRET_KEY – на свій секретний ключ (з третього кроку).

Публікуємо шаблон на AWS

Публікуємо додаток:

$ yarn publish:webapp

5. Перевіряємо працездатність і починаємо створювати додаток

Перевірте працездатність додатки в вашому браузері. Якщо все працює, ви можете приступати до створення логіки вашого веб-додатки.

Налаштування AWS повинна виконуватися тільки один раз, тому після внесення будь-яких змін в ваш додаток можна просто запустити команду deploy, і протягом декількох секунд зміни вступлять в силу.

Переклад статті «How to deploy a live ReactJS / Redux website in under 10 minutes»