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

11 KiB
Raw Blame History

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

Assayo

Crea un informe HTML con un análisis de la estadística de commit:

  • el ritmo de trabajo y la cantidad de horas extras;
  • zonas de responsabilidad, número de características y errores;
  • estilo de trabajo de los colegas;
  • la tasa de rotación de empleados y la composición del equipo;
  • ubicación de los desarrolladores;
  • calendario de lanzamientos y calendario de vacaciones;
  • costo de las características y del proyecto en su conjunto;
  • lugares para refactorizar, archivos eliminados, etc.

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

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

Índice

REPORTE DE ESTADÍSTICAS DE COMMIT

📈 ¿Cómo crear y ver el informe?

Usando servidor público

Usar la biblioteca NodeJS

  • ejecute npx assayo
  • abre ./assayo/index.html

Usar la biblioteca PHP

  • ejecute composer require bakhirev/assayo
  • ejecute vendor/bin/assayo
  • abre ./assayo/index.html

Usar la biblioteca Python

  • ejecute pipx install assayo
  • ejecute assayo
  • abre ./assayo/index.html

Usar la biblioteca Ruby

  • ejecute gem install assayo
  • ejecute assayo
  • abre ./assayo/index.html

Usar la biblioteca Go

  • ejecute go get github.com/bakhirev/assayo
  • ejecute go install github.com/bakhirev/assayo
  • ejecute assayo
  • abre ./assayo/index.html

Usar el código fuente

  • descargue este repositorio
  • coloque el archivo log.txt en /build
  • abre /build/index.html
  • o coloque la carpeta /build en su repositorio (donde se encuentra log.txt). Puede cambiar el nombre. Por ejemplo, de /build a /report.

En este caso, es importante que el archivo log.txt se genere mediante un comando para la visualización en línea.

Usar github actions

Agregue script en la carpeta .github/workflows/ o use esta acción del mercado. Un informe listo y actualizado se guardará en los artefactos.

Usar servidor privado

  • descargue la imagen docker;
  • ejecútelo en su red local;
  • use la interfaz web para ver los informes, establezca la URL de los datos en el parámetro URL dump:
http://assayo_url/?dump=//you_url/some/log.txt
assayo_url - URL del contenedor assayo, escucha en el puerto 80;
you_url    - URL de su contenedor con registros git;

Por defecto, la imagen se ejecutará en http://127.0.0.1:80/. Si no funciona, verifique si el puerto 80 está libre.

🎭 ¿Cómo concatenar autores?

En el directorio raíz de su proyecto, necesita crear un archivo .mailmap.

Ejemplo del contenido del archivo:

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>

Lea más sobre el formato de este archivo aquí.

📤 ¿Cómo exportar datos de git a un archivo txt?

Para la visualización en línea

En el directorio raíz de su proyecto ejecute:

Para la visualización ofline

Git creará un archivo log.txt. Este archivo contiene datos para mostrar un informe. La diferencia entre el formato en línea y ofline es la presencia de una envoltura para las cadenas. El formato ofline se arrastrará como un archivo js si solo abrió /build/index.html

Si usa PowerShell en Windows

Por defecto, la codificación de salida puede no coincidir con UTF-8 y el archivo de registro resultante será ilegible. Antes de guardar el registro, puede cambiar la codificación con el comando.

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

O abra un archivo guardado y cambie manualmente la codificación a UTF-8.

🗃️ ¿Cómo ver un informe sobre un grupo de microservicios?

  • Generar para cada archivo de microservicio log.txt (log-1.txt, log-2.txt, log-3.txt, etc.) Puede hacerlo manualmente o usar el módulo Assayo Crawler para la recopilación automática de registros;
  • Ver «Cómo ver un informe en línea?». En el último paso, arrastre todos los archivos a la vez a la ventana del navegador.
  • Ver «Cómo ver un informe en offline?». En el segundo paso, arrastre todos los archivos de microservicio (log-1.txt, log-2.txt, log-3.txt, etc.) a la carpeta del informe (/build).

LAS MEJORES PRÁCTICAS EN EL PROYECTO

📝 ¿Cómo firmar los commits?

Siga el Conventional Commits 1.0.0. Ejemplo:

JIRA-1234 feat(profile): Added avatar for user
  • número de tarea en el seguimiento de tareas (JIRA-1234)
  • tipo de trabajo (feat, fix, style, refactor, test, doc, etc.)
  • característica (profile - nueva página en el sitio o nueva función, use una (dos) palabra(s) corta(s) o una abreviatura)
  • qué problema se resolvió (Added avatar for user)

👮 Cómo agregar comprobación para el mensaje de commit?

Usar archivo commit-msg

  1. Crear archivo commit-msg en carpeta .git/hooks/
  2. Agregar este texto en archivo:
#!/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

Usar paquete pre-commit

  1. Agregar en archivo package.json propiedad 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. Ejecutar comando npm install pre-commit

SOBRE ESTA APLICACIÓN

🎨 ¿Cómo personalizar la interfaz?

Puede crear su propia temática de interfaz. Opciones:

  • Título. Puede establecer el título de documento predeterminado en el parámetro de URL title. Ejemplo: ?title=You Company
  • Tema visual. Para ello, necesita preparar un archivo CSS con nuevos estilos y especificar su URL en el parámetro theme. Ejemplo: ?theme=//company.com/some.css. Puede usar nombres de clase como selectores. La mayoría de ellos no cambian en nuevas versiones.
  • Idioma. Puede establecer el idioma en el parámetro de URL lang. Ejemplo: ?lang=es

Ejemplo: demo

🛠️ ¿Cómo reconstruir el informe HTML desde el código fuente?

  • descargar este repositorio git clone https://github.com/bakhirev/assayo.git
  • ejecute npm install
  • ejecute npm run build:local
  • la nueva construcción HTML estará en la carpeta /build

🈯 ¿Cómo agregar o editar una traducción?

Puede agregar una nueva traducción o corregir una existente en la carpeta ts/translations/. Instrucción

📐 Arquitectura

Arquitectura general de microservicios

  1. Reports showcase UI muestra una lista de informes disponibles. Cada informe consta de un título, descripción y una lista de repositorios.
  2. Crawler service recopila registros de repositorio para el informe.
  3. Log visualization UI (estás aquí) muestra el informe. Necesita un archivo de registro para funcionar.

📧 Retroalimentación, comentarios