Визуализация и анализ данных вашего git-репозитория (демо).
- темп работы;
- количество переработок;
- зоны ответственности;
- объем фичей и багов;
- стиль работы коллег;
- выявить бездельников;
- прикинуть объём кода;
- узнать скорость работы;
- заметить аномалии поведения;
- посмотреть динамику работы по неделям;
- стоимость продукта;
- стоимость фичей;
- время на разработку;
- прогноз времени доработок;
- прогноз стоимости;
В корневой директории вашего проекта выполнить:
git shortlog -s -n -e
В корневой директории вашего проекта нужно создать файл .mailmap.
Пример содержания файла:
Alex B <alex@mail.uk>
Alex B <alex@mail.uk> <alex@gov.tk>
Alex B <alex@mail.uk> <bakhirev@ya.kz>
Alex B <alex@mail.uk> <man64@yahoo.com>
Подробнее про формат этого файла можно прочитать тут.
В корневой директории вашего проекта выполнить:
git --no-pager log --numstat --oneline --all --reverse --date=iso-strict --pretty=format:"%ad>%cN>%cE>%s" > log.txt
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
- Скачать этот репозиторий
- Перетащить файл
log.txtв папку/build - Запустить
/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).
Следуйте практике Conventional Commits 1.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);
Каждый раз, при перезагрузке компьютера, скрипт будет обновлять статистику по всем данным, которые автоматически влились в основную ветку.
Вы можете выкладывать файл с данными для построения отчёта на публичный URL. А для его визуализации использовать веб-интерфейс сайта assayo. Просто укажите адресс, где лежат данные, в URL-параметре dump:
https://assayo.jp/demo/?dump=//you_site.com/some/log.txt
- скачайте docker образ;
- поднимите его в локальной сети;
- для просмотра отчётов используйте веб-интерфейс указывая ему адресс, где лежат данные, в URL-параметре
dump:
http://assayo_url/?dump=//you_url/some/log.txt
assayo_url - URL адресс контейнера assayo, он слушает 80 порт;
you_url - URL адресс вашего контейнера с логами git;
- удилить метрику, аллерты, старые билды;
- собрать билд
npm run build - собрать образ
docker build -t assayo . - визуально проверить образ
docker run --name assayo -p 80:80 -d assayo; - поставить тег
docker tag IMAGE_ID bakhirev/assayo:latest; - запушить образ в Docker Hub
- больше советов и достижений;
- итоги года / месяца, печать отчётов;
- локализация и интернационализация;
- разные роли для статистики (скрытие финансов);
- разработка бекенда, интеграции с другими системами;
- alexey-bakhirev@yandex.ru
- telegramm @bakhirev
- сайт https://assayo.jp/