13 KiB
English | Español | Français | Português | Deutsch | 中文 | 日本語 | 한국어 | العربية | हिन्दी | Русский
Assayo
إنشاء تقرير HTML لتحليل إحصائيات الـCommit:
- وضع الтемп العمل والساعات الإضافية;
- مناطق المسؤولية، عدد الوظائف والأخطاء;
- أسلوب عمل الزملاء;
- معدل التدوير للموظفين وتكوين الفريق;
- موقع المطورين;
- جدول الإصدارات وجدول الإجازات;
- تكلفة الوظائف والمشروع ككل;
- الأماكن التي تحتاج إلى إعادة البناء، الملفات المحذوفة، إلخ.
الرابطات: demo, online version, docker, reddit, habr
فيديو: english, español, русский
محتويات
تقرير إحصائيات الـCommit
📈 كيفية إنشاء وتعرض التقرير؟
باستخدام خادم عام
- زور الموقع الويب
- اتبع التعليمات
استخدام مكتبة 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
أضف ال script في المجلد .github/workflows/ أو استخدم هذه الأعمال من المركز التجاري. سيتم حفظ التقرير الجاهز والمحدث في المنتجات.
باستخدام خادم خاص
- حمل الصورة docker;
- أدري في الشبكة المحلية الخاصة بك;
- استخدم وجهة نظر الويب لعرض التقرير، وحدد URL البيانات في المعلمة URL
dump:
http://assayo_url/?dump=//you_url/some/log.txt
assayo_url - URL للحاوية assayo، تستمع إلى المنفذ 80;
you_url - URL لحاوية Git لوغ;
بالافتراض، سيتم تشغيل الصورة على 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 فقط
إذا استخدمت PowerShell على Windows
بالافتراض، قد لا تتطابق ترميز الخرج مع UTF-8، وسيكون ملف السجل الناتج غير قابل للقرا
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
أو فتح ملف محفوظ وتغيير الترميز يدويا إلى أوتف-8.
🗃️ كيفية عرض تقرير عن مجموعة من الميكروخدمات؟
- إنشاء لكل ملف ميكروخدمة
log.txt(log-1.txt,log-2.txt,log-3.txt، إلخ). يمكنك القيام بذلك يدويًا، أو استخدام وحدة Assayo Crawler لجمع السجلات التلقائيًا؛ - انظر «كيفية عرض التقرير على الإنترنت؟». في الخطوة الأخيرة، سحب جميع الملفات في وقت واحد إلى نافذة المتصفح.
- انظر «كيفية عرض التقرير خارج الإنترنت؟». في الخطوة الثانية، سحب جميع ملفات الميكروخدمة (
log-1.txt,log-2.txt,log-3.txt، إلخ) إلى مجلد التقرير (/build).
أفضل الممارسات في المشروع
📝 كيفية توقيع الـCommit؟
الاتباع 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؟
استخدام الملف commit-msg
- إنشاء الملف
commit-msgفي المجلد.git/hooks/ - إضافة هذا النص في الملف:
#!/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
- إضافة في الملف
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"
},
...
- تشغيل الأمر
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/.
الإرشادات
📐 الهيكل
الهيكل العام للميكروخدمات
- Reports showcase UI يعرض قائمة من التقارير المتوفرة. كل تقرير يتكون من عنوان ووصف وقائمة من المستودعات.
- Crawler service يجمع سجلات المستودع للتقرير.
- Log visualization UI (أنت هنا) يعرض التقرير. يحتاج إلى ملف سجل للعمل.
📧 التعليق
- 📱 https://t.me/bakhirev (طريقة الاتصال ذات الأولوية)
- 📧 alexey-bakhirev@yandex.ru
- 🌐 https://bakhirev.github.io/
