assayo/documents/ES.md
2025-07-05 19:53:26 +03:00

21 KiB
Raw Blame History

English | Español | 中文 | Français | Deutsch | Português | 日本語 | Русский

Documentación básica en ruso. Es una traducción. Puede contener errores. Si usted es un hablante nativo, puede ayudar a mejorar esta traducción. ¡Gracias!

Assayo

Visualización y análisis de los datos de su repositorio git. Performance tool for Team Lead and IT-audit

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

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

👨‍💻 En tu nuevo lugar de trabajo puedes averiguar al instante:
  • el ritmo de trabajo y el número de horas extras;
  • las zonas de responsabilidad, el número de funciones y errores;
  • el estilo de trabajo de tus compañeros;
  • la tasa de rotación del personal y la composición del equipo;
  • la ubicación de los desarrolladores;
  • el cronograma de lanzamientos y el calendario de vacaciones;
  • el costo de las características y del proyecto en su conjunto;
  • lugares para refactorización, archivos eliminados, etc.

Table of contents

🚀 Cómo puedo rápidamente ver el número de commits?

En la carpeta raíz de su proyecto, ejecute:

git shortlog -s -n -e

🎭 Cómo combinar a los autores?

En la carpeta raíz de su proyecto debe crear un archivo .mailmap. Un 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>

Más información sobre el formato de este archivo se puede leer en aquí.

📤 Cómo descargar los datos desde git?

Para la visualización en línea

En el directorio raíz de su proyecto ejecutar:

git --no-pager log --raw --numstat --oneline --all --reverse --date=iso-strict --pretty=format:"%ad>%aN>%aE>%s" > log.txt

Para ver sin conexión

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 creará un archivo log.txt. contiene los datos para construir el informe. La diferencia entre los formatos en línea y fuera de línea está en la existencia de una envoltura para las cadenas. El formato fuera de línea se cargará como un archivojs si usted simplemente lo abrió. /build/index.html

If you use PowerShell in Windows

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.

📈 ¿Cómo ver el informe?

Using website

  • ir a sitio web
  • pulse el botón Demo»
  • arrastrar y soltar archivo log.txt en la ventana del navegador

Use the library NodeJS

  • run npx assayo
  • open ./assayo/index.html

Use the library PHP

  • run composer require bakhirev/assayo
  • run vendor/bin/assayo
  • open ./assayo/index.html

Use the library Python

  • run pipx install assayo
  • run assayo
  • open ./assayo/index.html

Use the library Ruby

  • run gem install assayo
  • run assayo
  • open ./assayo/index.html

Use the library Go

  • run go get github.com/bakhirev/assayo
  • run go install github.com/bakhirev/assayo
  • run assayo
  • open ./assayo/index.html

Use source code

  • descargar este repositorio
  • arrastrar y soltar archivo log.txt en la carpeta /build
  • lanzar /build/index.html
  • o arrastrar una carpeta /build a su repositorio (donde se encuentra ' log.txt). Puede cambiar el nombre. Por ejemplo /buildcontra/report`

En este caso, es importante que el archivo ' log.txt ' fue generado por el equipo para ver sin conexión.

🏭 Como recompilar el build de un informe?

  • Descargar este repositorio
  • Ejecutar npm install
  • Ejecutar npm run build:local
  • La nueva compilación estará en el directorio /build

🗃️ Como mirar el reporte de un grupo de microservicios?

  • Generar para cada microservicio el archivo log.txt (log-1.txt, log-2.txt, log-3.txt etc.)
  • Ver “Cómo ver el informe en línea?”. En el último paso, arrastrar todos los archivos al navegador.
  • Ver “Cómo ver informe fuera de línea?”. En el segundo paso, arrastrar los archivos de todos los microservicios al navegador (log-1.txt, log-2.txt, log-3.txt etc.) la carpeta informe (/build).

🎨 ¿Cómo puedo personalizar la interfaz de usuario?

Puedes crear tu propio tema para la interfaz. Puedes cambiar:

  • El título. Puedes especificarlo en el parámetro de la URL title. Por ejemplo: ?title=You Company
  • El tema visual. Para esto, debes preparar un archivo CSS con los nuevos estilos y especificar su dirección en el parámetro de URL theme. Por ejemplo: ?theme=//company.com/some.css. Puedes usar los nombres de clases como selectores. La mayoría de ellos no cambia con el lanzamiento de nuevas versiones.
  • La lengua. Puedes especificarla en el parámetro de la URL lang. Por ejemplo: ?lang=es

Example: demo

📝 ¿Cómo firmar los commits?

Siga la práctica Conventional Commits 1.0.0. Por ejemplo:

JIRA-1234 feat(profile): Added avatar for user 
  • El número de la tarea en el gestor de tareas es (JIRA-1234)
  • tipo de trabajo (feat, fix, style, refactor, test, doc etc.)
  • ficha (profile - La sección del sitio, la página o la nueva funcionalidad, en una palabra)
  • ¿qué problema resolvieron? (Added avatar for user)

👮 How to add checking for commit message?

Use file commit-msg

  1. Create file commit-msg in folder .git/hooks/
  2. 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

  1. Add in file package.json property 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. Run command npm install pre-commit

📚 ¿Cómo automatizar el recolección de datos?

With backend

Sin backend

  • clone del repositorio que desea;
  • copiar a la carpeta raíz build;
  • abridlo build/index.html añadir a favoritos;
  • agregue un icono de build/assets/ci-cd.sh a su carpeta de inicio automático

(Windows); Cada vez que reinicie su computadora, el script actualizará la estadística de todos los datos que se hayan incorporado automáticamente a la rama principal.

🛠️ DevOps (CI/CD)

Github Actions

Add script in folder .github/workflows/ or use this action from the marketplace.

Servidor público

Puede publicar el archivo con los datos para generar el informe en una URL pública. Para visualizarlo, puede usar la interfaz web del sitio assayo. Simplemente indique la dirección donde están los datos en el parámetro URL dump:

https://bakhirev.github.io/demo/?dump=//you_site.com/some/log.txt

Servidor privado

  • descargar docker образ;
  • recogerlo en la red local;
  • Para ver los informes, use la interfaz web indicándole la dirección de los datos en el parámetro URL dump:
http://assayo_url/?dump=//you_url/some/log.txt
assayo_url - URL dirección del contenedor assayo, Él está escuchando el puerto 80;
you_url    - URL la dirección de su contenedor con registros git;

Por defecto, la imagen se ejecutará en la siguiente dirección http://127.0.0.1:80/. Si no funciona, compruebe si tiene el puerto 80 disponible

🛠️ About application

📐 Architecture

  1. Reports showcase UI displays a list of available reports. Each report consists of a title, description, and a list of repositories.
  2. Crawler service collects repository logs for the report.
  3. Log visualization UI (you here) displays report. Needs a log file for work.

🈯 Los lanzamientos son aproximadamente una vez cada seis meses. Lo siguiente será:

  • más consejos y logros;
  • resultados del año / mes, impresión de informes;
  • localización e internacionalización;
  • análisis de archivos;
  • diferentes roles para estadísticas (ocultación de finanzas);
  • desarrollo de la parte de atrás, integraciones con otros sistemas;

🗺️ ¿Cómo añadir o editar una traducción?

Puede agregar una nueva traducción o corregir la actual en la sección ts/translations/. Instrucciones

📧 Deseos, comentarios