![ASB Logo](concept/ImagesSrc/logo_Asb.svg) # Проект веб части ASB cloud # Порядок запуска ## 1. Установка пакетов Для запуска установки необходимо иметь уже установленый [NPM](https://www.npmjs.com). Установка выполняется одной командой: ```bash npm ci ``` ## 2. Автогенерация сервисов Для корректной работы веб-приложения необходимо наличие сервисов работы с RestAPI. Для их автогенерации требуется уже запущенная серверная часть. Автогенерацию можно запустить с помощью уже прописанных в [package.json](package.json) скриптов, либо вручную. Если сервер запущен на текущей машине достаточно написать: ```bash npm run oul ``` Для получения сервисов с основного сервера: ```bash npm run oug_dev ``` или же ручной вариант: ```bash npx openapi -i http://{IP_ADDRESS}:{PORT}/swagger/v1/swagger.json -o src/services/api ``` где ***IP_ADDRESS*** и ***PORT*** это соответственно IP-адрес и порт сервера. На данный момент имеются следующие IP-адреса: | IP-адрес | Команда | Описание | |:-------------------------|:--------|:------------------------------------| | 127.0.0.1:5000 | oul | Локальный адрес вашей машины | | 192.168.1.113:5000 | oud | Локальный адрес development-сервера | | 46.146.209.148:89 | oug_dev | Внешний адрес development-сервера | | cloud.digitaldrilling.ru | oug | Внешний адрес production-сервера | ## 3. Компиляция production-версии приложения После выполнения вышеописанных пунктов приложение готово к компиляции. Для компиляции досточно выполнить команду: ```bash npm run build ``` После завершения этой команды скомпилированное приложение будет находиться в появившейся директории [build/](build/). ## 4. Запуск development-версии приложения В [package.json](package.json) необходимо проверить и при необходимости изменить значение в поле ***proxy*** (пара адрес-порт сервера с RestAPI) на актуальное. После чего выполнить запуск командой: ```bash npm start ``` ## 5. Подготовка к работе с гит репозиторием ### 5.1. Генерация SSH-ключей Для генерации ключей, в **Git Bash**, либо в **bash** консоли необходимо ввести команду: ```bash ssh-keygen ``` Предложенный путь сохранения ключа оставить без изменений Пароль для ускорения работы можно не задавать После чего публичный ключ необходимо занести ключ в [Gitea](http://46.146.209.148:8080/), в настройках пользователя. Чтобы получить публичный ключ необходимо ввести в консоли команду: ```bash cat ~/.ssh/id_rsa.pub ``` Далее ключ небходимо проверить, для этого необходимо нажать соответствующую кнопку в Gitea, скопировать и выполнить предложенную команду в консоли, после чего вывод вставить в поле на странице. ### 5.2. Генерация GPG-ключей Для генерации ключей, в **Git Bash**, либо в **bash** консоли необходимо ввести команду: ```bash gpg --full-generate-key ``` Тип ключа выбираем *RSA and RSA* (по умолчанию 1). Длину ключа рекомендуется задавать 4096. Далее необходимо заполнить все опрошенные данные, пароль оставить пустым. После чего публичный ключ необходимо занести ключ в [Gitea](http://46.146.209.148:8080/), в настройках пользователя. Чтобы получить публичный ключ необходимо ввести в консоли команду: ```bash gpg --export --armor ``` Где вместо `` необходимо подставить электронную почту, указанную к ключу. Далее ключ небходимо проверить, для этого необходимо нажать соответствующую кнопку в Gitea, скопировать и выполнить предложенную команду в консоли, после чего вывод вставить в поле на странице. ### 5.3. Настройка подписания коммитов (требуется GPG-ключ) Перед началом необходимо получить ID GPG-ключа, для этого выполним команду: ```bash gpg --list-keys ``` Где вместо `` необходимо подставить электронную почту, указанную к ключу. Из полученного вывода нам нужна только строка под строкой `rsa4096`. Эту строку мы передадим в следующую команду на место ``: ```bash git config --user.signingkey ```