assayo/documents/DE.md
2026-03-25 15:22:51 +03:00

12 KiB
Raw Blame History

English | Español | Français | Português | Deutsch | 中文 | 日本語 | 한국어 | العربية | हिन्दी | Русский

Assayo

Erstellt einen HTML-Bericht mit Analyse der Commit-Statistiken:

  • Arbeitstempo und Anzahl der Überstunden;
  • Verantwortungsbereiche, Anzahl der Features und Bugs;
  • Arbeitsstil der Kollegen;
  • Fluktuationsrate der Mitarbeiter und Teamzusammensetzung;
  • Standort der Entwickler;
  • Release-Zeitplan und Urlaubskalender;
  • Kosten von Features und des gesamten Projekts;
  • Stellen für Refactoring, gelöschte Dateien usw.

Links: demo, online version, docker, reddit, habr

Video: english, español, русский

Inhaltsverzeichnis

COMMIT-STATISTIKBERICHT

📈 Wie erstellt und betrachtet man den Bericht?

Öffentlichen Server verwenden

  • Gehen Sie zur Website
  • Folgen Sie den Anweisungen

NodeJS-Bibliothek verwenden

  • Führen Sie npx assayo aus
  • Öffnen Sie ./assayo/index.html

PHP-Bibliothek verwenden

  • Führen Sie composer require bakhirev/assayo aus
  • Führen Sie vendor/bin/assayo aus
  • Öffnen Sie ./assayo/index.html

Python-Bibliothek verwenden

  • Führen Sie pipx install assayo aus
  • Führen Sie assayo aus
  • Öffnen Sie ./assayo/index.html

Ruby-Bibliothek verwenden

  • Führen Sie gem install assayo aus
  • Führen Sie assayo aus
  • Öffnen Sie ./assayo/index.html

Go-Bibliothek verwenden

  • Führen Sie go get github.com/bakhirev/assayo aus
  • Führen Sie go install github.com/bakhirev/assayo aus
  • Führen Sie assayo aus
  • Öffnen Sie ./assayo/index.html

Quellcode verwenden

  • Dieses Repository herunterladen
  • Legen Sie die Datei log.txt im Ordner /build ab
  • Öffnen Sie /build/index.html
  • Oder legen Sie den Ordner /build in Ihr Repository (wo sich log.txt befindet). Sie können den Namen ändern. Zum Beispiel von /build zu /report.

In diesem Fall ist es wichtig, dass die Datei log.txt durch den Befehl für die Offline-Ansicht erzeugt wird.

GitHub Actions verwenden

Fügen Sie das script im Ordner .github/workflows/ hinzu oder verwenden Sie diese action aus dem Marketplace. Ein fertiger, aktueller Bericht wird in den Artefakten gespeichert.

Privaten Server verwenden

  • Laden Sie das Docker-Image herunter;
  • Führen Sie es in Ihrem lokalen Netzwerk aus;
  • Verwenden Sie die Weboberfläche, um die Berichte anzuzeigen, und setzen Sie die Daten-URL im URL-Parameter dump:
http://assayo_url/?dump=//you_url/some/log.txt
assayo_url - URL des Assayo-Containers, er hört auf Port 80;
you_url    - URL Ihres Containers mit Git-Logs;

Standardmäßig wird das Image unter http://127.0.0.1:80/ ausgeführt. Falls es nicht funktioniert, prüfen Sie, ob Port 80 frei ist.

🎭 Wie führt man Autoren zusammen?

Im Stammverzeichnis Ihres Projekts müssen Sie eine Datei .mailmap erstellen.

Beispiel für den Inhalt der 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>

Mehr über das Format dieser Datei erfahren Sie hier.

📤 Wie exportiert man Daten aus Git in eine TXT-Datei?

Für die Online-Ansicht

Führen Sie im Stammverzeichnis Ihres Projekts aus:

Für die Offline-Ansicht

Git erstellt eine Datei log.txt. Diese Datei enthält Daten zur Anzeige eines Berichts. Der Unterschied zwischen dem Online- und dem Offline-Format besteht in der vorhandenen String-Hülle. Das Offline-Format wird wie eine js-Datei geladen, wenn Sie /build/index.html einfach öffnen.

Wenn Sie PowerShell unter Windows verwenden

Standardmäßig kann die Ausgabe-Codierung nicht mit UTF-8 übereinstimmen, und die resultierende Log-Datei ist möglicherweise unlesbar. Bevor Sie das Log speichern, können Sie die Codierung mit dem Befehl ändern.

[Console]::OutputEncoding = [System.Text.Encoding]::UTF8

Oder öffnen Sie eine gespeicherte Datei und ändern Sie die Codierung manuell auf UTF-8.

🗃️ Wie zeigt man einen Bericht über eine Gruppe von Microservices an?

  • Erstellen Sie für jeden Microservice eine Datei log.txt (log-1.txt, log-2.txt, log-3.txt usw.). Dies können Sie manuell tun oder das Modul Assayo Crawler zur automatischen Log-Sammlung verwenden;
  • Siehe „Wie zeigt man einen Online-Bericht an?“. Ziehen Sie im letzten Schritt alle Dateien gleichzeitig in das Browserfenster.
  • Siehe „Wie zeigt man einen Offline-Bericht an?“. Ziehen Sie im zweiten Schritt alle Microservice-Dateien (log-1.txt, log-2.txt, log-3.txt usw.) in den Berichtsordner (/build).

BEST PRACTICES IM PROJEKT

📝 Wie signiert man Commits?

Folgen Sie den Conventional Commits 1.0.0. Beispiel:

JIRA-1234 feat(profile): Added avatar for user
  • Aufgabennummer im Task-Tracker (JIRA-1234)
  • Art der Arbeit (feat, fix, style, refactor, test, doc usw.)
  • Feature (profile neue Seite auf der Website oder neue Funktion, ein oder zwei kurze Wörter oder eine Abkürzung verwenden)
  • Welche Probleme gelöst wurden (Added avatar for user)

👮 Wie fügt man eine Prüfung für Commit-Nachrichten hinzu?

Datei commit-msg verwenden

  1. Datei commit-msg im Ordner .git/hooks/ erstellen
  2. Fügen Sie diesen Text in die Datei ein:
#!/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

Paket pre-commit verwenden

  1. Fügen Sie in der Datei package.json die Eigenschaft commit-msg hinzu:
...
"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"
},
...
  1. Führen Sie den Befehl npm install pre-commit aus

ÜBER DIESE APP

🎨 Wie brandet man die Benutzeroberfläche?

Sie können Ihr eigenes Interface-Theme erstellen. Optionen:

  • Titel. Sie können den Standard-Dokumenttitel im URL-Parameter title festlegen. Beispiel: ?title=You Company
  • Visuelles Theme. Dazu müssen Sie eine CSS-Datei mit neuen Styles vorbereiten und deren URL im Parameter theme angeben. Beispiel: ?theme=//company.com/some.css. Die meisten Klassennamen ändern sich in neuen Versionen nicht.
  • Sprache. Sie können die Sprache im URL-Parameter lang festlegen. Beispiel: ?lang=es

Beispiel: Demo

🛠️ Wie baut man den HTML-Bericht aus dem Quellcode neu?

  • Dieses Repository git clone https://github.com/bakhirev/assayo.git herunterladen
  • Führen Sie npm install aus
  • Führen Sie npm run build:local aus
  • Der neue HTML-Build befindet sich im Ordner /build

🈯 Wie fügt man eine Übersetzung hinzu oder bearbeitet sie?

Sie können im Ordner ts/translations/ eine neue Übersetzung hinzufügen oder eine bestehende korrigieren. Anleitung

📐 Architektur

Allgemeine Architektur von Microservices

  1. Reports showcase UI zeigt eine Liste verfügbarer Berichte an. Jeder Bericht besteht aus einem Titel, einer Beschreibung und einer Liste von Repositories.
  2. Crawler service sammelt Repository-Logs für den Bericht.
  3. Log visualization UI (Sie sind hier) zeigt den Bericht an. Benötigt eine Log-Datei zur Funktion.

📧 Feedback, Kommentare