English | Español | 中文 | Français | Deutsch | Português | 日本語 | Русский
Visualisierung und analyse ihrer git-datenbank. Performance tool for Team Lead and IT-audit Links: demo, online version, docker, reddit, habr. Video: english, español, русский.
- arbeitsgeschwindigkeit;
- anzahl der überstunden;
- verantwortungsbereiche;
- umfang des neuen funktionsweise und fehlerbestandes;
- arbeitsstil der kollegen;
- ermitteln sie die untätigen;
- schätzen sie den codeumfang ab;
- erfahren sie die arbeitsgeschwindigkeit;
- merken sie verhaltensanomalien;
- beobachten sie das arbeitsgeschehen nach wochen;
- produktpreis;
- preis des neuen funktionsumfanges;
- entwicklungszeit;
- vorhersage der zeit für überarbeitungen;
- preiskostenprognose;
- Wie kann ich die anzahl der commits schnell sehen?
- How to create a local report with using library?
- Wie kann ich autoren zusammenbringen?
- Wie kann ich daten aus git?
- Wie kann ich den bericht sehen?
- Wie kann ich die berichtsdatei neu erstellen?
- Wie kann ich den bericht zur microservices-gruppe anzeigen?
- Wie kann ich die benutzeroberfläche in ihren markenfarben neu streichen?
- Wie signiere ich commits?
- How to add checking for commit message?
- Wie kann ich die datenerfassung automatisieren?
- DevOps
- ️ About application
In der wurzelverzeichnis ihres projektes muss der befehl ausgeführt werden:
git shortlog -s -n -e
NodeJS:
npx assayo
PHP:
composer require bakhirev/assayo
vendor/bin/assayo
Python:
pipx install assayo
assayo
Ruby:
gem install assayo
assayo
The script will create a folder ./assayo
with a report about repository:
./assayo/index.html - report
./assayo/log.txt - information from git
If you do not have NodeJS , see the items "How to download data from git?" and "How to view the report?"
Sie müssen eine datei im stammverzeichnis ihres projekts erstellen .mailmap
.
Beispiel für den Inhalt einer Datei:
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>
Sie können mehr über das format dieser datei lesenhier.
In der wurzelverzeichnis ihres projektes ausführen:
git --no-pager log --raw --numstat --oneline --all --reverse --date=iso-strict --pretty=format:"%ad>%aN>%aE>%s" > log.txt
git --no-pager log --raw --numstat --oneline --all --reverse --date=iso-strict --pretty=format:"%ad>%aN>%aE>%s" | sed -e 's/\\/\\\\/g' | sed -e 's/`/"/g' | sed -e 's/\$/S/g' | sed -e '1s/^/R(f\`/' | sed -e '$s/$/\`\);/' > log.txt
Git erstellt eine datei log.txt
. Diese datei enthält die daten zum erstellen des berichts. Der unterschied zwischen den formaten liegt im vorhandensein einer wrapper für zeilen. Das format ohne internet wird wie eine js-datei geladen, wenn sie es einfach öffnen. /build/index.html
By default, the output encoding may not match UTF-8 and the resulting log file will be unreadable. Before saving the log, you can change the encoding with the command.
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
Or open a saved file and manually change the encoding to UTF-8.
- gehe zu Webseite
- den knopf drücken “Demonstration”
- datei ziehen
log.txt
in das Browserfenster
- laden sie dieses repository herunter
- datei ziehen
log.txt
in den ordner/build
- starten
/build/index.html
- oder ziehen sie einen ordner
/build
zu sich ins repository (der ort, an dem es liegtlog.txt
). Sie können den namen ändern. zum beispiel mit dem namen/build
auf den namen/report
Es ist wichtig, dass die log.txt datei vom befehl für die offlineansicht erstellt wird.
- Laden sie dieses repository herunter
- Erfüllen
npm install
- Erfüllen
npm run build:local
- Der neue build wird im ordner sein
/build
- Datei für jeden microservice generieren
log.txt
(log-1.txt
,log-2.txt
,log-3.txt
usw.) - Siehe “Wie kann ich den bericht mit internet ansehen?”. Im letzten schritt ziehen sie alle dateien gleichzeitig in das browserfenster.
- Siehe “Wie kann man den bericht ohne internet ansehen?” Im zweiten schritt ziehen sie die microservice-dateien alle (
log-1.txt
,log-2.txt
,log-3.txt
usw.) in den berichtsordner (/build
).
Sie können ihr skin für die schnittstelle schreiben. Kann geändert werden:
- Überschrift. Sie können es im URL-parameter angeben
title
. Zum beispiel:?title=you company
- CSS stile. Um dies zu tun, müssen sie die CSS-datei vorbereiten und ihre adresse im URL-parameter angeben
theme
. Zum beispiel:?theme=//company.com/some.css
. Sie können klassennamen als selektoren verwenden. Die meisten von ihnen ändern sich nicht, wenn eine neue version veröffentlicht wird. - Sprache. Sie können es im URL-parameter angeben
lang
. Zum Beispiel:?lang=es
Example: demo
Folge der praxis Conventional Commits 1.0.0. Zum beispiel:
JIRA-1234 feat(profile): added avatar for user
- aufgabennummer
(JIRA-1234)
- art der arbeit
(feat, fix, style, refactor, test, doc usw.)
- arbeitsbereich
(profile - ein abschnitt der website, eine seite oder eine neue funktionalität, mit einem wort)
- beschreibung der arbeit
(added avatar for user)
- Create file
commit-msg
in folder.git/hooks/
- Add this text in file:
#!/usr/bin/env bash
if ! grep -iqE "(JIRA-[0-9]{1,5})(\s)(feat|fix|docs|style|refactor|test|chore)((\([a-z0-9_-]{1,}\)){0,})(:\s)([a-z]{1,})" "$1"; then
echo "Need commit message like: JIRA-12 fix(profile): some text. Read Semantic Commit Messages" >&2
exit 1
fi
Use package pre-commit
- Add in file
package.json
propertycommit-msg
:
...
"commit-msg": {
"regex": "(JIRA-[0-9]{1,5})(\\s)(feat|fix|docs|style|refactor|test|chore)((\\([a-z0-9_-]{1,}\\)){0,})(:\\s)([a-z]{1,})",
"error-message": "Need commit message like: JIRA-12 fix(profile): some text Read Semantic Commit Messages"
},
...
- use module Assayo Crawler;
- erstellen sie einen klon ihres repositorys;
- kopieren sie den ordner
build
aus dem aktuellen repository; - öffnen
build/index.html
im browser und zu lesezeichen hinzufügen; - fügen sie eine verknüpfung hinzu
build/assets/ci-cd.sh
in den startordner (windows); Jedes mal, wenn der computer neu gestartet wird, aktualisiert das skript die statistiken für alle daten, die automatisch in den hauptzweig aufgenommen wurden.
Sie können eine datendatei zum erstellen eines berichts auf eine öffentliche URL hochladen. Sie können die Website verwenden, um sie zu visualisieren assayo. Geben sie im URL-parameter die adresse an, an der die daten liegen dump
:
https://bakhirev.github.io/demo/?dump=//you_site.com/some/log.txt
- herunterladen docker das bild;
- führen Sie es im lokalen netzwerk aus;
- um berichte anzuzeigen, verwenden sie die webschnittstelle, um die adresse anzugeben, an der sich die daten befinden, im URL-parameter
dump
:
http://assayo_url/?dump=//you_url/some/log.txt
assayo_url - die adresse des assayo-containers, er hört auf port 80;
you_url - URL die adresse ihres containers mit git-logs;
Standardmäßig wird das abbild an der folgenden adresse ausgeführt http://127.0.0.1:80/
. Wenn es nicht funktioniert, überprüfen sie, ob der port 80 frei ist.
- befehl ausführen
npm run build:docker
- befehl ausführen
docker build -t assayo .
- ergebnis überprüfen
docker run --name assayo -p 80:80 -d assayo
; - befehl ausführen
docker tag assayo bakhirev/assayo:latest
; - senden sie ein containerimage an Docker Hub
docker push bakhirev/assayo:latest
;
- Reports showcase UI displays a list of available reports. Each report consists of a title, description, and a list of repositories.
- Crawler service collects repository logs for the report.
- Log visualization UI (you here) displays report. Needs a log file for work.
Schau haupt dokumentation
Sie können eine neue übersetzung hinzufügen oder die aktuelle im abschnitt korrigieren ts/translations/
.
Anleitung
- telegramm @bakhirev (vorrangiger kommunikationsweg)
- alexey-bakhirev@yandex.ru
- web site https://bakhirev.github.io/