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

13 KiB
Raw Blame History

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

Assayo

HTMLレポートを作成してコミットの統計を分析します

  • 作業のペースと残業時間の数;
  • 責任の範囲、機能の数とエラー;
  • 同僚の作業スタイル;
  • 従業員の流れとチームの構成;
  • 開発者の位置;
  • リリーススケジュールと休暇スケジュール;
  • 機能とプロジェクト全体のコスト;
  • リファクタリングが必要な場所、削除されたファイルなど。

リンク: 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アクションを使用

ファイル夹.github/workflows/スクリプトを追加またはマーケットプレイスのアクションを使用します。準備された更新されたレポートがアーティファクトに保存されます。

プライベートサーバーを使用

  • dockerイメージをダウンロード;
  • ローカルネットワークで実行;
  • Webインターフェースでレポートを表示し、データURLパラメータdumpを設定:
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を作成します。このファイルには、レポートを表示するためのデータが含まれています。オンラインとオフラインの形式の違いは、文字列のラッピングです。オフライン形式は、ファイルjsとしてロードされます(/build/index.htmlのみ開く場合)

WindowsでPowerShellを使用している場合

デフォルトでは、出力エンコーディングがUTF-8と一致しない場合があり、生成されたログファイルは読み取り不能になります。ログを保存する前に、コマンドを使用してエンコーディングを変更できます。

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

または、保存されたファイルを開き、エンコーディングをUTF-8に手動で変更します。

🗃️ マイクロサービスグループのレポートの見方は?

  • 各マイクロサービスファイルlog.txtlog-1.txt, log-2.txt, log-3.txtなど)を作成します。手動で行うこともできますし、Assayo Crawlerモジュールを使用して自動ログ収集を行うこともできます;
  • 「オンラインレポートの見方」を参照。最後のステップで、すべてのファイルを一度にブラウザウィンドウにドラッグします。
  • 「オフラインレポートの見方」を参照。2番目のステップで、すべてのマイクロサービスファイル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 - サイトの新規ページまたは新規機能、短い単語または略語の12つを使用)
  • 解決された問題(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ファイルを準備し、そのURLをパラメータthemeに指定する必要があります。例:?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ここにいます)はレポートを表示します。作業にはログファイルが必要です。

📧 フィードバック、コメント