Skip to content

Web-networks/frontend

Repository files navigation

Front-end part of application

Содержание

  1. Настройка окружения и установка необходмых пакетов для разработки (Linux, MacOS)
  2. Разработка
  3. Контейнеризация
  4. Проверки pre-commit
  5. CI

Настройка окружения и установка необходмых пакетов для разработки (Linux, MacOS)

Интерфейсная часть будет писаться на TS, за исключение фронтового сервера. Чтобы вести разработку необходимо уставноить nvm и node.

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
nvm install 10
nvm alias default 10

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

yarn

Разработка

Если на предыдущих шагах все прошло успешно, можно начинать разработку. Для этого нужно запустить следующую команду:

yarn start-dev

Она запустит фронтовый сервер в режими development и любые изменения в коде сервера автоматически будут приводить к его перезапуску. В консоле появится информация о хосте, на котором запущен сервер. Чтобы собрать фронтовую часть в режиме poduction нужно выполнить команду:

yarn build

Если работать в режиме developement с автоматической пересборкой проекта после внесения изменений нужно выполнить команду:

yarn build-dev

С другими командами можно ознакомиться в package.json.

Контейнеризация

Чтобы запустить приложение в docker контейнере нужно сделать следующие:

docker build . -t <name of image>
docker run -p 8080:8080 <name of image>

Можно запустить так же образ который находится в удаленном репозитории (см ниже). Пример запуска последней стабильной версии:

docker run -p 5050:8080 networksidea/frontend:latest

Важно указать правильную проброску портов!: -p <port on your host>:8080, важно что в контейнере фронтовый сервер слушает порт 8080! Контейнер запускает интерфейсную часть приложения в режиме production.

Также к git-репозиторию привязан docker hub oraganisation: https://hub.docker.com/orgs/networksidea. Нужно подать заявку для членства в организации, чтобы иметь доступ к push своих собственных кастомных образов. Сейчас образы собираются по следующим правилам автоматически (реагируют на гитовые web хуки):

  1. На каждое обновление master, при этом образ собирается из последнего коммита и доступен под тегом latest:
docker pull networksidea/frontend:latest
  1. На каждый релизный тэг в мастер: tag=0.10.1 => образ можно получить под тегом: release-0.10.1:
docker pull networksidea/frontend:release-0.10.1
  1. На каждый push в произвольную ветку => соответсвующий тэг будет иметь имя ветки
docker pull networksidea/frontend:<branch-name> 

Если хочется запушить свой собственный docker образ (например он нужен другим разработчикам для интеграции), то запушить свой образ можно так:

docker push networksidea/frontend:<tagname>

tagname не должен быть: latest, <branch-name>, release-<...> в силу правил описанных выше. Соответственно другому разработчику можно получить образ выполнив команду:

docker pull networksidea/frontend:<tagname>

Проверки pre-commit

Перед тем как сделать коммит прогонится линтер: yarn lint. В случае нарушения Code Style или соверешния ошибок, видимых при статической обработке кода, коммит не удасться сделать. В этом случае необходимо поправить код в тех местах, где ошибки и повторить попытку коммита.

CI

На каждый push в репозиторий запускаются некоторые тесты

  1. Eslint проверки

About

Front-end part of web-application

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages