Як задеплоіть веб-додаток на зв`язці React і Redux за 10 хвилин
Якщо ви шукаєте спосіб швидко продемонструвати колегам та клієнтам ідею свого веб-додатка, розгорнувши його на сервері, ця стаття для вас.
Ви отримаєте аналогічне додаток після виконання цих дій:
- локальна установка ReactJS за допомогою шаблону;
- настройка «кошика» AWS (Amazon Web Services) S3;
- створення облікових даних користувача AWS для завантаження файлів на S3;
- розгортання шаблону на AWS;
- перевірка працездатності.
Необхідні інструменти:
- Node.js версії 6.0 або вище;
- Yarn;
- Аккаунт 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
2. Налаштування кошика 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
– на свій секретний ключ (з третього кроку).
Публікуємо додаток:
$ yarn publish:webapp
5. Перевіряємо працездатність і починаємо створювати додаток
Перевірте працездатність додатки в вашому браузері. Якщо все працює, ви можете приступати до створення логіки вашого веб-додатки.
Налаштування AWS повинна виконуватися тільки один раз, тому після внесення будь-яких змін в ваш додаток можна просто запустити команду deploy
, і протягом декількох секунд зміни вступлять в силу.
Переклад статті «How to deploy a live ReactJS / Redux website in under 10 minutes»