mirror of
https://github.com/bakhirev/assayo.git
synced 2025-04-10 03:39:14 +00:00
457 lines
15 KiB
JSON
457 lines
15 KiB
JSON
[
|
||
{
|
||
"warning": "[Documentación básica](https://github.com/bakhirev/assayo/blob/main/documents/RU.md) en ruso. Es una traducción. Puede contener errores. Si usted es un hablante nativo, puede ayudar a mejorar esta traducción. ¡Gracias!"
|
||
},
|
||
{
|
||
"p": "Visualización y análisis de los datos de su repositorio git. Performance tool for Team Lead and IT-audit"
|
||
},
|
||
{
|
||
"p": "**Links:** [demo](https://bakhirev.github.io/demo/?dump=./test.txt), [online version](https://bakhirev.github.io/demo/?ref=github), [docker](https://hub.docker.com/r/bakhirev/assayo), [reddit](https://www.reddit.com/r/ITManagers/comments/1e5k291/the_visualization_and_analysis_of_git_commit/), [habr](https://habr.com/ru/articles/852782/)."
|
||
},
|
||
{
|
||
"p": "**Video:** [english](https://www.youtube.com/watch?v=uMbhrrd25t4), [español](https://www.youtube.com/watch?v=skmctb_2rZ0), [русский](https://www.youtube.com/watch?v=jwCp_-bhrCQ)."
|
||
},
|
||
{
|
||
"h5": "El empleado puede evaluar el nuevo lugar de trabajo"
|
||
},
|
||
{
|
||
"li": [
|
||
"El ritmo de trabajo;",
|
||
"El número de horas extras;",
|
||
"Las áreas de responsabilidad;",
|
||
"El volumen de características y errores;",
|
||
"El estilo de trabajo de los colegas;"
|
||
]
|
||
},
|
||
{
|
||
"h5": "El jefe puede evaluar a los empleados"
|
||
},
|
||
{
|
||
"li": [
|
||
"Identificar a los ociosos;",
|
||
"Calcular el volumen de código;",
|
||
"Conocer la velocidad de trabajo;",
|
||
"Se han notado anomalías de comportamiento;",
|
||
"Ver el ritmo de trabajo por semanas;"
|
||
]
|
||
},
|
||
{
|
||
"h5": "El inversor puede evaluar el producto"
|
||
},
|
||
{
|
||
"li": [
|
||
"El costo del producto;",
|
||
"El coste de las peculiaridades;",
|
||
"El tiempo de desarrollo;",
|
||
"La predicción del tiempo de mejoras;",
|
||
"La predicción del costo;"
|
||
]
|
||
},
|
||
{
|
||
"h3": "Table of contents"
|
||
},
|
||
{
|
||
"h3": "Cómo puedo rápidamente ver el número de commits?"
|
||
},
|
||
{
|
||
"p": "En la carpeta raíz de su proyecto, ejecute:"
|
||
},
|
||
{
|
||
"pre": [
|
||
"git shortlog -s -n -e"
|
||
]
|
||
},
|
||
{
|
||
"h3": "How to create a local report with using library?"
|
||
},
|
||
{
|
||
"p": "NodeJS:"
|
||
},
|
||
{
|
||
"pre": [
|
||
"npx assayo"
|
||
]
|
||
},
|
||
{
|
||
"p": "PHP:"
|
||
},
|
||
{
|
||
"pre": [
|
||
"composer require bakhirev/assayo",
|
||
"vendor/bin/assayo"
|
||
]
|
||
},
|
||
{
|
||
"p": "Python:"
|
||
},
|
||
{
|
||
"pre": [
|
||
"pipx install assayo",
|
||
"assayo"
|
||
]
|
||
},
|
||
{
|
||
"p": "Ruby:"
|
||
},
|
||
{
|
||
"pre": [
|
||
"gem install assayo",
|
||
"assayo"
|
||
]
|
||
},
|
||
{
|
||
"p": "The script will create a folder `./assayo` with a report about repository:"
|
||
},
|
||
{
|
||
"pre": [
|
||
"./assayo/index.html - report",
|
||
"./assayo/log.txt - information from git"
|
||
]
|
||
},
|
||
{
|
||
"p": "If you do not have NodeJS , see the items \"How to download data from git?\" and \"How to view the report?\""
|
||
},
|
||
{
|
||
"h3": "Cómo combinar a los autores?"
|
||
},
|
||
{
|
||
"p": "En la carpeta raíz de su proyecto debe crear un archivo `.mailmap`."
|
||
},
|
||
{
|
||
"p": "Un ejemplo del contenido del archivo:"
|
||
},
|
||
{
|
||
"pre": [
|
||
"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>"
|
||
]
|
||
},
|
||
{
|
||
"p": "Más información sobre el formato de este archivo se puede leer en [aquí](https://git-scm.com/docs/gitmailmap)."
|
||
},
|
||
{
|
||
"h3": "Cómo descargar los datos desde git?"
|
||
},
|
||
{
|
||
"h4": "Para la visualización en línea"
|
||
},
|
||
{
|
||
"p": "En el directorio raíz de su proyecto ejecutar:"
|
||
},
|
||
{
|
||
"pre": [
|
||
"git --no-pager log --raw --numstat --oneline --all --reverse --date=iso-strict --pretty=format:\"%ad>%aN>%aE>%s\" > log.txt"
|
||
]
|
||
},
|
||
{
|
||
"h4": "Para ver sin conexión"
|
||
},
|
||
{
|
||
"pre": [
|
||
"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"
|
||
]
|
||
},
|
||
{
|
||
"p": "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 archivo`js` si usted simplemente lo abrió. `/build/index.html`"
|
||
},
|
||
{
|
||
"h4": "If you use PowerShell in Windows"
|
||
},
|
||
{
|
||
"p": "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."
|
||
},
|
||
{
|
||
"pre": "[Console]::OutputEncoding = [System.Text.Encoding]::UTF8"
|
||
},
|
||
{
|
||
"p": "Or open a saved file and manually change the encoding to UTF-8."
|
||
},
|
||
{
|
||
"h3": "¿Cómo ver el informe?"
|
||
},
|
||
{
|
||
"h4": "Using website"
|
||
},
|
||
{
|
||
"li": [
|
||
"ir a [sitio web](https://bakhirev.github.io/)",
|
||
"pulse el botón [Demo](https://bakhirev.github.io/demo)»",
|
||
"arrastrar y soltar archivo `log.txt` en la ventana del navegador"
|
||
]
|
||
},
|
||
{
|
||
"h4": "Use the library NodeJS"
|
||
},
|
||
{
|
||
"li": [
|
||
"run `npx assayo`",
|
||
"open `./assayo/index.html`"
|
||
]
|
||
},
|
||
{
|
||
"h4": "Use the library PHP"
|
||
},
|
||
{
|
||
"li": [
|
||
"run `composer require bakhirev/assayo`",
|
||
"run `vendor/bin/assayo`",
|
||
"open `./assayo/index.html`"
|
||
]
|
||
},
|
||
{
|
||
"h4": "Use the library Python"
|
||
},
|
||
{
|
||
"li": [
|
||
"run `pipx install assayo`",
|
||
"run `assayo`",
|
||
"open `./assayo/index.html`"
|
||
]
|
||
},
|
||
{
|
||
"h4": "Use the library Ruby"
|
||
},
|
||
{
|
||
"li": [
|
||
"run `gem install assayo`",
|
||
"run `assayo`",
|
||
"open `./assayo/index.html`"
|
||
]
|
||
},
|
||
{
|
||
"h4": "Use source code"
|
||
},
|
||
{
|
||
"li": [
|
||
"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 `/build` contra `/report`"
|
||
]
|
||
},
|
||
{
|
||
"p": "En este caso, es importante que el archivo ' log.txt ' fue generado por el equipo para ver sin conexión."
|
||
},
|
||
{
|
||
"h3": "Como recompilar el build de un informe?"
|
||
},
|
||
{
|
||
"li": [
|
||
"Descargar este repositorio",
|
||
"Ejecutar `npm install`",
|
||
"Ejecutar `npm run build:local`",
|
||
"La nueva compilación estará en el directorio `/build`"
|
||
]
|
||
},
|
||
{
|
||
"h3": "Como mirar el reporte de un grupo de microservicios?"
|
||
},
|
||
{
|
||
"li": [
|
||
"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`)."
|
||
]
|
||
},
|
||
{
|
||
"h3": "¿Cómo puedo personalizar la interfaz de usuario?"
|
||
},
|
||
{
|
||
"p": "Puedes crear tu propio tema para la interfaz. Puedes cambiar:"
|
||
},
|
||
{
|
||
"li": [
|
||
"**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```"
|
||
]
|
||
},
|
||
{
|
||
"p": "**Example:** [demo](https://bakhirev.github.io/demo/themes/)"
|
||
},
|
||
{
|
||
"h3": "¿Cómo firmar los commits?"
|
||
},
|
||
{
|
||
"p": "Siga la práctica [Conventional Commits 1.0.0](https://www.conventionalcommits.org/en/v1.0.0/). Por ejemplo:"
|
||
},
|
||
{
|
||
"pre": [
|
||
"JIRA-1234 feat(profile): Added avatar for user "
|
||
]
|
||
},
|
||
{
|
||
"li": [
|
||
"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)`"
|
||
]
|
||
},
|
||
{
|
||
"h3": "How to add checking for commit message?"
|
||
},
|
||
{
|
||
"h4": " Use file `commit-msg`"
|
||
},
|
||
{
|
||
"p": "1. Create file `commit-msg` in folder `.git/hooks/`"
|
||
},
|
||
{
|
||
"p": "2. Add this text in file:"
|
||
},
|
||
{
|
||
"pre": [
|
||
"#!/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"
|
||
]
|
||
},
|
||
{
|
||
"h4": " Use package [pre-commit](https://www.npmjs.com/package/pre-commit)"
|
||
},
|
||
{
|
||
"p": "1. Add in file `package.json` property `commit-msg`:"
|
||
},
|
||
{
|
||
"pre": [
|
||
" ...",
|
||
" \"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\"",
|
||
" },",
|
||
" ..."
|
||
]
|
||
},
|
||
{
|
||
"p": "2. Run command `npm install pre-commit`"
|
||
},
|
||
{
|
||
"h3": "¿Cómo automatizar el recolección de datos?"
|
||
},
|
||
{
|
||
"h4": "With backend"
|
||
},
|
||
{
|
||
"li": [
|
||
"use module [Assayo Crawler](https://github.com/bakhirev/assayo-crawler);"
|
||
]
|
||
},
|
||
{
|
||
"h4": "Sin backend"
|
||
},
|
||
{
|
||
"li": [
|
||
"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"
|
||
]
|
||
},
|
||
{
|
||
"p": " (Windows);"
|
||
},
|
||
{
|
||
"p": "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."
|
||
},
|
||
{
|
||
"h3": "DevOps (CI/CD)"
|
||
},
|
||
{
|
||
"h4": "Servidor público"
|
||
},
|
||
{
|
||
"p": "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](https://bakhirev.github.io/). Simplemente indique la dirección donde están los datos en el parámetro URL ```dump```:"
|
||
},
|
||
{
|
||
"pre": [
|
||
"https://bakhirev.github.io/demo/?dump=//you_site.com/some/log.txt"
|
||
]
|
||
},
|
||
{
|
||
"h4": "Servidor privado"
|
||
},
|
||
{
|
||
"li": [
|
||
"descargar [docker образ](https://hub.docker.com/r/bakhirev/assayo);",
|
||
"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```:"
|
||
]
|
||
},
|
||
{
|
||
"pre": [
|
||
"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;"
|
||
]
|
||
},
|
||
{
|
||
"p": "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"
|
||
},
|
||
{
|
||
"h4": "Actualización de la imagen Docker"
|
||
},
|
||
{
|
||
"li": [
|
||
"construir ```npm run build:docker```",
|
||
"montar la imagen ```docker build -t assayo .```",
|
||
"comprobar visualmente la imagen ```docker run --name assayo -p 80:80 -d assayo```;",
|
||
"poner la etiqueta ```docker tag assayo bakhirev/assayo:latest```;",
|
||
"poner la imagen en Docker Hub ```docker push bakhirev/assayo:latest```;"
|
||
]
|
||
},
|
||
{
|
||
"h3": "️ About application"
|
||
},
|
||
{
|
||
"h4": "Architecture"
|
||
},
|
||
{
|
||
"img": "<img src=\"https://raw.githubusercontent.com/bakhirev/assayo-crawler/12af4410fc93384cafb108a4429e43f9a874dbaa/schema.svg\" width=\"70%\" />"
|
||
},
|
||
{
|
||
"p": "1. [Reports showcase UI](https://github.com/bakhirev/assayo-showcase) displays a list of available reports. Each report consists of a title, description, and a list of repositories."
|
||
},
|
||
{
|
||
"p": "2. [Crawler service](https://github.com/bakhirev/assayo-crawler) collects repository logs for the report."
|
||
},
|
||
{
|
||
"p": "3. [Log visualization UI](https://github.com/bakhirev/assayo) **(you here)** displays report. Needs a log file for work."
|
||
},
|
||
{
|
||
"h4": "Los lanzamientos son aproximadamente una vez cada seis meses. Lo siguiente será:"
|
||
},
|
||
{
|
||
"li": [
|
||
"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;"
|
||
]
|
||
},
|
||
{
|
||
"h4": "¿Cómo añadir o editar una traducción?"
|
||
},
|
||
{
|
||
"p": "Puede agregar una nueva traducción o corregir la actual en la sección ```ts/translations/```."
|
||
},
|
||
{
|
||
"p": "[Instrucciones](https://github.com/firstcontributions/first-contributions)"
|
||
},
|
||
{
|
||
"h4": "Deseos, comentarios"
|
||
},
|
||
{
|
||
"li": [
|
||
"telegramm [@bakhirev](https://t.me/bakhirev) (La forma preferencial de contacto)",
|
||
"[alexey-bakhirev@yandex.ru](mailto:alexey-bakhirev@yandex.ru)",
|
||
"sitio web [https://bakhirev.github.io/](https://bakhirev.github.io/?ref=github&lang=es)"
|
||
]
|
||
}
|
||
]
|