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

12 KiB
Raw Blame History

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

Assayo

Créez un rapport HTML pour analyser les statistiques des commits:

  • le rythme de travail et le nombre d'heures supplémentaires;
  • les domaines de responsabilité, le nombre de fonctionnalités et d'erreurs;
  • le style de travail des collègues;
  • le taux de rotation des employés et la composition de l'équipe;
  • la localisation des développeurs;
  • l'emploi du temps des lancés et des vacances;
  • le coût des fonctionnalités et du projet dans son ensemble;
  • les endroits à refactoriser, les fichiers supprimés, etc.

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

Vidéo: english, español, русский

Table des matières

RAPPORT D'ANALYSE DES COMMITS

📈 Comment créer et visualiser le rapport?

En utilisant un serveur public

  • accédez au site web
  • suivez les instructions

Utiliser la bibliothèque NodeJS

  • exécutez npx assayo
  • ouvrez ./assayo/index.html

Utiliser la bibliothèque PHP

  • exécutez composer require bakhirev/assayo
  • exécutez vendor/bin/assayo
  • ouvrez ./assayo/index.html

Utiliser la bibliothèque Python

  • exécutez pipx install assayo
  • exécutez assayo
  • ouvrez ./assayo/index.html

Utiliser la bibliothèque Ruby

  • exécutez gem install assayo
  • exécutez assayo
  • ouvrez ./assayo/index.html

Utiliser la bibliothèque Go

  • exécutez go get github.com/bakhirev/assayo
  • exécutez go install github.com/bakhirev/assayo
  • exécutez assayo
  • ouvrez ./assayo/index.html

Utiliser le code source

  • télécharger ce répertoire
  • placer le fichier log.txt dans /build
  • ouvrez /build/index.html
  • ou placer le dossier /build dans votre répertoire (où se trouve log.txt). Vous pouvez changer le nom. Par exemple, de /build à /report.

Dans ce cas, il est important que le fichier log.txt soit généré par la commande pour la visualisation en ligne.

Utiliser les actions GitHub

Ajouter script dans le dossier .github/workflows/ ou utiliser cette action du marketplace. Un rapport prêt et mis à jour sera enregistré dans les artefacts.

Utiliser un serveur privé

  • télécharger l'image docker;
  • exécuter dans votre réseau local;
  • utiliser l'interface web pour visualiser les rapports, définir l'URL des données dans le paramètre URL dump:
http://assayo_url/?dump=//you_url/some/log.txt
assayo_url - URL du conteneur assayo, écoute sur le port 80;
you_url    - URL de votre conteneur avec les journaux git;

Par défaut, l'image s'exécutera sur http://127.0.0.1:80/. Si cela ne fonctionne pas, vérifiez si le port 80 est libre.

🎭 Comment concaténer les auteurs?

Dans le répertoire racine de votre projet, vous devez créer un fichier .mailmap.

Exemple du contenu du fichier:

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>

Lisez plus sur le format de ce fichier ici.

📤 Comment exporter les données de git dans un fichier txt?

Pour la visualisation en ligne

Dans le répertoire racine de votre projet exécutez:

Pour la visualisation hors ligne

Git créera un fichier log.txt. Ce fichier contient les données pour afficher un rapport. La différence entre le format en ligne et hors ligne est la présence d'un enveloppement pour les chaînes. Le format hors ligne sera chargé comme un fichier js si vous avez ouvert uniquement /build/index.html

Si vous utilisez PowerShell sur Windows

Par défaut, le codage de sortie peut ne pas correspondre à UTF-8 et le fichier de journal résultant sera illisible. Avant de sauvegarder le journal, vous pouvez changer le codage avec la commande.

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

Ou ouvrez un fichier sauvegardé et changez manuellement le codage en UTF-8.

🗃️ Comment visualiser un rapport sur un groupe de microservices?

  • Générer pour chaque fichier de microservice log.txt (log-1.txt, log-2.txt, log-3.txt, etc.). Vous pouvez le faire manuellement ou utiliser le module Assayo Crawler pour la collecte automatique des journaux;
  • Voir « Comment visualiser un rapport en ligne? ». À l'étape finale, faites glisser tous les fichiers à la fois dans la fenêtre du navigateur.
  • Voir « Comment visualiser un rapport hors ligne? ». À l'étape deux, faites glisser tous les fichiers de microservice (log-1.txt, log-2.txt, log-3.txt, etc.) dans le dossier du rapport (/build).

LES MEILLEURES PRACTIQUES DANS LE PROJET

📝 Comment signer les commits?

Suivez le Conventional Commits 1.0.0. Exemple:

JIRA-1234 feat(profile): Added avatar for user
  • numéro de tâche dans le suivi de tâches (JIRA-1234)
  • type de travail (feat, fix, style, refactor, test, doc, etc.)
  • fonctionnalité (profile - nouvelle page sur le site ou nouvelle fonction, utilisez un (deux) mot(s) court(s) ou une abréviation)
  • quel problème a été résolu (Added avatar for user)

👮 Comment ajouter une vérification pour le message de commit?

Utiliser le fichier commit-msg

  1. Créer le fichier commit-msg dans le dossier .git/hooks/
  2. Ajouter ce texte dans le fichier:
#!/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

Utiliser le package pre-commit

  1. Ajouter dans le fichier package.json la propriété commit-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"
},
...
  1. Exécuter la commande npm install pre-commit

AU SUJET DE CETTE APPLICATION

🎨 Comment personnaliser l'interface?

Vous pouvez créer votre propre thème d'interface. Options:

  • Titre. Vous pouvez définir le titre du document par défaut dans le paramètre URL title. Exemple: ?title=You Company
  • Thème visuel. Pour ce faire, vous devez préparer un fichier CSS avec de nouveaux styles et spécifier son URL dans le paramètre theme. Exemple: ?theme=//company.com/some.css. Vous pouvez utiliser les noms de classe comme sélecteurs. La plupart d'entre eux ne changent pas dans les nouvelles versions.
  • Langue. Vous pouvez définir la langue dans le paramètre URL lang. Exemple: ?lang=es

Exemple: démo

🛠️ Comment reconstruire le rapport HTML à partir du code source?

  • télécharger ce dépôt git clone https://github.com/bakhirev/assayo.git
  • exécutez npm install
  • exécutez npm run build:local
  • la nouvelle construction HTML se trouvera dans le dossier /build

🈯 Comment ajouter ou éditer une traduction?

Vous pouvez ajouter une nouvelle traduction ou corriger une existante dans le dossier ts/translations/. Instruction

📐 Architecture

Architecture générale des microservices

  1. Reports showcase UI affiche une liste de rapports disponibles. Chaque rapport comprend un titre, une description et une liste de dépôts.
  2. Crawler service collecte les journaux du dépôt pour le rapport.
  3. Log visualization UI (vous êtes ici) affiche le rapport. Il a besoin d'un fichier journal pour fonctionner.

📧 Retours, commentaires