Домашнее задание ШРИ по теме "Node.js + React + Тестирование + Инфраструктура + Типизация + Service Workers + Локализация"
- Node.js v12.16.1
- Установить зависимости
npm i
- Добавить в корень репозитория файл
.env
. - Добавить в
.env
переменнуюSHRI_API_KEY=...
. Токен можно получить здесь https://hw.shri.yandex/. - Добавить в
.env
переменнуюGITHUB_TOKEN=...
. Токен можно получить здесь https://github.com/settings/tokens. Можно не устанавлить, но у GitHub API ограничение в 60 запросов в час для не авторизованных пользователей. - Запустить приложение
npm start
- Перейти по адресу http://localhost:3000/
- Добавить в корень репозитория файл
.env.test
. - Добавить в
.env.test
переменнуюSHRI_API_KEY=...
. Чтобы не затереть конфигурацию, рекомендую получить токен с помощью другого аккаунта. Потому что в e2e тестах очищается хранилище. - Добавить в
.env.test
переменнуюGITHUB_TOKEN=...
. - Запустить юнит тесты
npm run test
- Установить
Selenium
дляHermione
https://github.com/gemini-testing/hermione#prerequisites - Запустить
selenium-standalone start
- Запустить
npm run start:e2e
- Запустить e2e тесты
npm run test:e2e
-
Добавить в корень репозитория файл
server-conf.json
.{ "port": 3001, "apiBaseUrl": "https://hw.shri.yandex/api/", "apiToken": "...", "updateInterval": 15000 }
-
Добавить в корень репозитория файл
agent-conf.json
.{ "port": 3002, "serverHost": "127.0.0.1", "serverPort": 3001, "updateInterval": 30000 }
-
Запустить билд-сервер
npm run start:build-server -- --config=./server-conf.json
-
Запустить билд-агент
npm run start:build-agent -- --config=./agent-conf.json
Любые настройки конфиг файлов можно переопределить, передав соответствующий параметр. Например агентов удобно запускать так:
npm run start:build-agent -- --config=./agent-conf.json --port=3004
Либо вообще не указывать конфиг файл и передать все настройки через параметры:
npm run start:build-agent -- --port=3004 --serverHost="127.0.0.1" --serverPort=3001 --updateInterval=30000
В приложениях присутствуют стандартные настройки:
-
Для сервера
{ "port": 3001, "apiBaseUrl": "https://hw.shri.yandex/api/", "updateInterval": 30000 }
-
Для агента
{ "serverHost": "127.0.0.1", "serverPort": 3001, "updateInterval": 30000 }
Если ими воспользоваться, то можно запускать приложения так:
npm run start:build-agent -- --port=3004
npm run start:build-server -- --apiToken="..."
-
Собрать образы
npm run build:docker-images
-
Запуcтить билд-сервер
docker run --name build-server --network host shri-ci-build-server --port=3001 --apiBaseUrl="https://hw.shri.yandex/api/" --updateInterval=30000 --apiToken="..."
.Со стандартными настройками:
docker run --name build-server --network host shri-ci-build-server --apiToken="..."
-
Запуcтить билд-агента
docker run --name build-agent-3002 --network host shri-ci-build-agent --port=3002 --serverHost="127.0.0.1" --serverPort=3001 --updateInterval=30000
.Со стандартными настройками:
docker run --name build-agent-3002 --network host shri-ci-build-agent --port=3002