Skip to content

chuuddo/shri-2020-hw-ci

Repository files navigation

Домашнее задание ШРИ по теме "Node.js + React + Тестирование + Инфраструктура + Типизация + Service Workers + Локализация"

  1. Node.js v12.16.1
  2. Установить зависимости npm i

Запуск приложения

  1. Добавить в корень репозитория файл .env.
  2. Добавить в .env переменную SHRI_API_KEY=.... Токен можно получить здесь https://hw.shri.yandex/.
  3. Добавить в .env переменную GITHUB_TOKEN=.... Токен можно получить здесь https://github.com/settings/tokens. Можно не устанавлить, но у GitHub API ограничение в 60 запросов в час для не авторизованных пользователей.
  4. Запустить приложение npm start
  5. Перейти по адресу http://localhost:3000/

Запуск тестов

  1. Добавить в корень репозитория файл .env.test.
  2. Добавить в .env.test переменную SHRI_API_KEY=.... Чтобы не затереть конфигурацию, рекомендую получить токен с помощью другого аккаунта. Потому что в e2e тестах очищается хранилище.
  3. Добавить в .env.test переменную GITHUB_TOKEN=....
  4. Запустить юнит тесты npm run test
  5. Установить Selenium для Hermione https://github.com/gemini-testing/hermione#prerequisites
  6. Запустить selenium-standalone start
  7. Запустить npm run start:e2e
  8. Запустить e2e тесты npm run test:e2e

Запуск билд-сервера и билд-агента

  1. Добавить в корень репозитория файл server-conf.json.

    {
      "port": 3001,
      "apiBaseUrl": "https://hw.shri.yandex/api/",
      "apiToken": "...",
      "updateInterval": 15000
    }
  2. Добавить в корень репозитория файл agent-conf.json.

    {
      "port": 3002,
      "serverHost": "127.0.0.1",
      "serverPort": 3001,
      "updateInterval": 30000
    }
  3. Запустить билд-сервер

    npm run start:build-server -- --config=./server-conf.json

  4. Запустить билд-агент

    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

В приложениях присутствуют стандартные настройки:

  1. Для сервера

    {
      "port": 3001,
      "apiBaseUrl": "https://hw.shri.yandex/api/",
      "updateInterval": 30000
    }
  2. Для агента

    {
      "serverHost": "127.0.0.1",
      "serverPort": 3001,
      "updateInterval": 30000
    }

Если ими воспользоваться, то можно запускать приложения так:

npm run start:build-agent -- --port=3004

npm run start:build-server -- --apiToken="..."

Сборка и запуск docker образов для билд-сервера и билд-агента

  1. Собрать образы npm run build:docker-images

  2. Запу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="..."

  3. Запу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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published