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

20 KiB
Raw Blame History

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

Documentação básica em russo. É uma tradução. Pode conter erros. Se você é um falante nativo, você pode ajudar a melhorar esta tradução. Obrigado!

Assayo

Visualização e análise de dados do seu repositório git. Performance tool for Team Lead and IT-audit

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

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

👨‍💻 No seu novo local de trabalho, você pode descobrir imediatamente:
  • o ritmo do trabalho e o número de horas extras;
  • áreas de responsabilidade, quantidade de funcionalidades e erros;
  • estilo de trabalho dos colegas;
  • taxa de rotatividade de funcionários e composição da equipe;
  • localização dos desenvolvedores;
  • cronograma de lançamentos e calendário de férias;
  • custo das funcionalidades e do projeto como um todo;
  • locais para refatoração, arquivos excluídos, etc.

Table of contents

🚀 Como é rápido ver o número de commits?

No diretório raiz do seu projeto, execute o comando:

git shortlog -s -n -e

🎭 Como combinar os autores?

É necessário criar um arquivo no diretório principal do seu projeto .mailmap. Exemplo de conteúdo de arquivo:

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>

Pode ler mais sobre o formato deste arquivo em aqui.

📤 Como exportar dados do git?

Para visualização online

No diretório raiz do seu projeto executar:

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

Para ver sem internet

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 criar um ficheiro log.txt. Esse arquivo contém dados para construção de relatórios. A diferença entre os formatos está na existência de uma envoltória para as linhas. O formato sem internet será puxado como js o arquivo se você o abriu simplesmente /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.

📈 Como ver o relatório?

Using website

  • Ir para site
  • Pressione o botão “Demonstração
  • Arrastar e largar log.txt na janela do 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

  • Baixar este repositório
  • Arraste o arquivo log.txt para a pasta /build
  • Lançar /build/index.html
  • Ou arraste a pasta /build ir para o repositório (o lugar onde se encontra log.txt). Você pode mudar o nome. Por exemplo, do nome /build no título /report

É importante que o arquivo log.txt foi criado por uma equipe para navegar sem internet.

🏭 Como recompilar o arquivo do relatório?

  • Baixar este repositório
  • Executar npm install
  • Executar npm run build:local
  • A compilação mais recente estará na pasta /build

🗃️ Como visualizar o relatório do grupo de microserviços?

  • Gerar um arquivo para cada microserviço log.txt (log-1.txt, log-2.txt, log-3.txt etc.)
  • Veja “Como visualizar o relatório com a internet?”. No último passo, arraste todos os arquivos para a janela do navegador.
  • Veja “Como visualizar o relatório sem a internet?”. No segundo passo, arraste todos os microserviços (log-1.txt, log-2.txt, log-3.txt etc.) na pasta relatório (/build).

🎨 Como alterar as cores da interface para as cores da sua marca?

Você pode escrever seu próprio tema de interface. Pode mudar:

  • Cabeçalho. Você pode especificar em um parâmetro da URL title. Por exemplo: ?title=You Company
  • Themes. Para fazer isso, você precisa preparar um arquivo CSS e especificar o seu endereço no parâmetro da URL theme. Por exemplo: ?theme=//company.com/some.css. Você pode usar os nomes das classes como seletores. A maioria deles não muda na saída de uma nova versão.
  • Idioma. Você pode incluir em um parâmetro de URL. lang. Por exemplo: ?lang=es

Example: demo

📝 Como faço para assinar commits?

Siga a prática Conventional Commits 1.0.0. Por exemplo:

JIRA-1234 feat(profile): Added avatar for user 
  • número da tarefa (JIRA-1234)
  • tipo de trabalho (feat, fix, style, refactor, test, doc etc.)
  • área de trabalho (profile - Página)
  • descrição do trabalho (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

📚 Como automatizar a coleta de dados?

With backend

Sem backend

  • criar um clone do seu repositório;
  • copie a pasta build do repositório atual;
  • abrir build/index.html no navegador e adicionar aos favoritos;
  • adicionar um shortcut na build/assets/ci-cd.sh na pasta de inicialização (Windows);

A cada reinício do computador, o script atualiza a estatística com todos os dados que sejam automaticamente incorporados na branch principal.

🛠️ DevOps (CI/CD)

Github Actions

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

Servidor Público

Você pode disponibilizar o arquivo com os dados para construção do relatório em um URL público. Para visualizá-lo, você pode usar um site assayo. Especifique o endereço onde os dados estão localizados no parâmetro de URL dump:

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

Servidor Privado

  • baixar docker imagem;
  • execute-o na rede local;
  • Para visualizar os relatórios, utilize a interface web, indicando-lhe o endereço em que os dados se encontram localizados através do parâmetro URL dump:
http://assayo_url/?dump=//you_url/some/log.txt
assayo_url - O URL do endereço do container Assay, ele está escutando na porta 80;
you_url    - O URL do seu container com os logs do git;

Por padrão, a imagem será iniciada no endereço http://127.0.0.1:80/. Se você não conseguiu, verifique se a porta 80 está disponível no seu computador.

🛠️ 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.

🈯 Liberações, aproximadamente, uma vez por semestre. O que vem a seguir:

Vide documentação básica

🗺️ Como adicionar ou editar uma tradução?

Você pode adicionar uma nova tradução ou corrigir uma existente na seção ts/translations/. Instrução

📧 Sugestões, sugestões, comentários