git --no-pager log --numstat --oneline --all --reverse --date=iso-strict --pretty=format:"%ad>%cN>%cE>%s" | sed -e 's/\\/\\\\/g' | sed -e 's/`/"/g' | sed -e 's/^/report.push(\`/g' | sed 's/$/\`\);/g' | sed 's/\$/_/g' > log.txt
```
Git создаст файл `log.txt`.
Этот файл содержит данные для построения отчёта.
Разница между форматами в наличие обёртки для строк. Формат без интернета будет подтягиваться, как `js` файл если вы просто открыли `/build/index.html`
- Или перетащить папку `/build` к себе в репозиторий (место, где лежит `log.txt`). Можно изменить название. Например с названия `/build` на название `/report`
Важно, чтобы файл `log.txt` был создан командой для просмотра без интернета.
### Как пересобрать файл отчёта?
- Скачать этот репозиторий
- Выполнить `npm install`
- Выполнить `npm run build`
- Свежая сборка будет в папке `/build`
### Как посмотреть отчёт по группе микросервисов?
- Сгенерировать для каждого микросервиса файл `log.txt` (`log-1.txt`, `log-2.txt`, `log-3.txt` и т.д.)
- См. “Как посмотреть отчёт с интернетом?”. На последнем шаге перетащить сразу все файлы в окно браузера.
- См. “Как посмотреть отчёт без интернета?”. На втором шаге перетащить все файлы микросервисов (`log-1.txt`, `log-2.txt`, `log-3.txt` и т.д.) в папку отчета (`/build`).
### Как перекрасить интерфейс в свои фирменные цвета?
Вы можете написать свою тему оформления для интерфейса. Можно менять:
- **Заголовок**. Вы можете указать его в URL-параметре ```title```. Например: ```?title=You Company```
- **CSS стили**. Для этого нужно подготовить CSS файл и указать его адрес в URL-параметре ```theme```. Например: ```?theme=//company.com/some.css```. Вы можете использовать имена классов в качестве селекторов. Большинство из них не меняется в при выходе новой версий.
- **Язык**. Вы можете указать его в URL-параметре ```lang```. Например: ```?lang=es```
### Как подписывать коммиты?
Следуйте практике [Conventional Commits 1.0.0](https://www.conventionalcommits.org/en/v1.0.0/). Например:
```
JIRA-1234 feat(profile): Added avatar for user
```
- номер задачи `(JIRA-1234)`
- тип работы `(feat, fix, style, refactor, test, doc и т.д.)`
- область работы `(profile - раздел сайта, страница или новый функционал, одним словом)`
- описание работы `(Added avatar for user)`
### Как автоматизировать сбор данных?
#### Без бекенда
- создайте клон вашего репозитория;
- скопируйте папку `build` из текущего репозитория;
- откройте `build/index.html` в браузере и добавьте в закладки;
- добавьте ярлык на `build/assets/ci-cd.sh` в папку автозагрузки (Windows);
Каждый раз, при перезагрузке компьютера, скрипт будет обновлять статистику по всем данным, которые автоматически влились в основную ветку.
### DevOps (CI/CD)
#### Публичный сервер
Вы можете выкладывать файл с данными для построения отчёта на публичный URL. Для его визуализации можно использовать сайт [assayo](https://assayo.online/). Указывайте адресс, где лежат данные, в URL-параметре ```dump```: