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

12 KiB
Raw Permalink Blame History

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

Assayo

커밋 통계 보고서. 이 보고서는 다음에 대한 분석을 포함합니다:

  • 작업 속도와 초과 근무 시간 수;
  • 책임 영역, 기능 및 버그 수;
  • 동료들의 업무 스타일;
  • 직원 이직률과 팀 구성;
  • 개발자 위치;
  • 릴리스 일정 및 휴가 캘린더;
  • 기능 및 프로젝트 전체 비용;
  • 리팩터링이 필요한 위치, 삭제된 파일 등.

링크: demo, online version, docker, reddit, habr

비디오: english, español, русский

목차

커밋 통계 보고서

📈 보고서를 생성하고 보는 방법은?

공용 서버 사용

NodeJS 라이브러리 사용

  • npx assayo 실행
  • ./assayo/index.html 열기

PHP 라이브러리 사용

  • composer require bakhirev/assayo 실행
  • vendor/bin/assayo 실행
  • ./assayo/index.html 열기

Python 라이브러리 사용

  • pipx install assayo 실행
  • assayo 실행
  • ./assayo/index.html 열기

Ruby 라이브러리 사용

  • gem install assayo 실행
  • assayo 실행
  • ./assayo/index.html 열기

Go 라이브러리 사용

  • go get github.com/bakhirev/assayo 실행
  • go install github.com/bakhirev/assayo 실행
  • assayo 실행
  • ./assayo/index.html 열기

소스 코드 사용

  • 이 저장소 다운로드
  • log.txt 파일을 /build 폴더에 넣기
  • /build/index.html 열기
  • 또는 /build 폴더를 log.txt이 있는 저장소에 넣기. 이름을 변경할 수 있습니다. 예: /build/report.

이 경우 오프라인 보기를 위한 명령으로 log.txt 파일이 생성되는 것이 중요합니다.

GitHub Actions 사용

.github/workflows/ 폴더에 script 추가 또는 마켓플레이스의 이 action 사용. 최신 보고서는 아티팩트에 저장됩니다.

개인 서버 사용

  • docker 이미지 다운로드;
  • 로컬 네트워크에서 실행;
  • 웹 인터페이스를 사용해 보고서를 보고 URL 매개변수 dump에 데이터 URL 설정:
http://assayo_url/?dump=//you_url/some/log.txt
assayo_url - assayo 컨테이너의 URL, 포트 80에서 수신;
you_url    - git 로그가 있는 컨테이너의 URL;

기본적으로 이미지는 http://127.0.0.1:80/에서 실행됩니다. 작동하지 않으면 포트 80가 사용 중인지 확인하세요.

🎭 작성자를 병합하는 방법은?

프로젝트 루트 디렉터리에 .mailmap 파일을 생성해야 합니다.

파일 내용 예:

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>

이 파일 형식에 대한 자세한 내용은 여기에서 확인할 수 있습니다.

📤 git에서 txt 파일로 데이터를 내보내는 방법은?

온라인 보기용

프로젝트 루트 디렉터리에서 실행:

오프라인 보기용

Git은 log.txt 파일을 생성합니다. 이 파일에는 보고서를 표시하기 위한 데이터가 포함됩니다. 온라인 형식과 오프라인 형식의 차이점은 문자열 래퍼의 존재 여부입니다. 오프라인 형식은 /build/index.html를 열면 js 파일처럼 로드됩니다.

Windows에서 PowerShell을 사용하는 경우

기본 출력 인코딩이 UTF-8과 일치하지 않아 로그 파일을 읽을 수 없을 수 있습니다. 로그를 저장하기 전에 명령으로 인코딩을 변경할 수 있습니다.

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

또는 저장된 파일을 열어 수동으로 UTF-8로 인코딩을 변경하세요.

🗃️ 마이크로서비스 그룹에 대한 보고서를 보는 방법은?

  • 각 마이크로서비스에 대해 log.txt 파일 (log-1.txt, log-2.txt, log-3.txt 등)을 생성하세요. 수동으로 할 수도 있고, 자동 로그 수집을 위한 Assayo Crawler 모듈을 사용할 수도 있습니다;
  • “온라인 보고서 보기”를 참조하세요. 마지막 단계에서 모든 파일을 한 번에 브라우저 창으로 드래그하세요.
  • “오프라인 보고서 보기”를 참조하세요. 두 번째 단계에서 모든 마이크로서비스 파일 (log-1.txt, log-2.txt, log-3.txt 등)을 보고서 폴더 (/build)로 드래그하세요.

프로젝트의 모범 사례

📝 커밋에 서명하는 방법은?

Conventional Commits 1.0.0을 따르세요. 예:

JIRA-1234 feat(profile): Added avatar for user
  • 작업 추적기의 작업 번호 (JIRA-1234)
  • 작업 유형 (feat, fix, style, refactor, test, doc 등)
  • 기능 (profile - 사이트의 새 페이지 또는 새 기능, 한두 단어 또는 약어 사용)
  • 해결된 문제 (Added avatar for user)

👮 커밋 메시지 검사 추가 방법은?

파일 commit-msg 사용

  1. .git/hooks/ 폴더에 commit-msg 파일 생성
  2. 파일에 다음 텍스트 추가:
#!/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

패키지 pre-commit 사용

  1. package.json 파일에 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. npm install pre-commit 명령 실행

이 앱에 대하여

🎨 인터페이스 브랜딩 방법은?

자신만의 인터페이스 테마를 만들 수 있습니다. 옵션:

  • 제목. URL 매개변수 title에서 기본 문서 제목을 설정할 수 있습니다. 예: ?title=You Company
  • 시각적 테마. 새 스타일이 있는 CSS 파일을 준비하고 theme 매개변수에 URL을 지정해야 합니다. 예: ?theme=//company.com/some.css. 대부분의 클래스 이름은 새 버전에서도 변경되지 않습니다.
  • 언어. URL 매개변수 lang에서 언어를 설정할 수 있습니다. 예: ?lang=es

예: 데모

🛠️ 소스 코드에서 HTML 보고서를 다시 빌드하는 방법은?

  • 이 저장소 git clone https://github.com/bakhirev/assayo.git 다운로드
  • npm install 실행
  • npm run build:local 실행
  • 새 HTML 빌드는 /build 폴더에 생성됩니다.

🈯 번역을 추가하거나 편집하는 방법은?

ts/translations/ 폴더에서 새 번역을 추가하거나 기존 번역을 수정할 수 있습니다. 안내

📐 아키텍처

마이크로서비스의 일반 아키텍처

  1. Reports showcase UI는 사용 가능한 보고서 목록을 표시합니다. 각 보고서는 제목, 설명 및 저장소 목록으로 구성됩니다.
  2. Crawler service는 보고서를 위한 저장소 로그를 수집합니다.
  3. Log visualization UI (현재 위치) 는 보고서를 표시합니다. 작동하려면 로그 파일이 필요합니다.

📧 피드백, 의견