أداة تحليل رمز Docker (CAT) هي صورة Sonarqube Docker التي تحتوي على تكوين مخصص والمكونات الإضافية لتحقيق تحليل التعليمات البرمجية.
Sonarqube هو منصة مفتوحة لإدارة جودة الكود.
هذا المشروع هو برنامج مجاني ؛ يمكنك إعادة توزيعه و/أو تعديله بموجب شروط رخصة GNU العامة العامة كما نشرتها مؤسسة البرمجيات المجانية ؛ إما الإصدار 3 من الترخيص ، أو (في خيارك) أي إصدار لاحق.
يمكنك الحصول على Sonarqube على Github: Sonarsource/Sonarqube.
ابحث عن معرفات المجموعة للسماح بتحليل Sonarqube (للمكون الإضافي للمسح الضوئي لـ Sonar CNEs):
getent group <group_name> | cut -d : -f3 للوصول إلى معرف المجموعة من اسم المجموعة المعروف ؛cat /etc/group لسرد جميع معرفات المجموعة. ❗ يجب أن يكون لهذه المجموعة read execution أذونات على جميع المشروع لتحليلها (لتصفح وتحليل جميع الملفات) write أذونات على جذر مساحة العمل (لتنفيذ أدوات C/C ++ ومساحة السونار).
ابحث عن الإصدار الذي تريد استخدامه على DockerHub: https://hub.docker.com/r/lequal/docker-cat أو ببساطة استخدم latest صورة تتوافق مع الفرع الرئيسي لهذا المشروع.
قم بتشغيل حاوية Docker Cat:
docker pull lequal/docker-cat
docker run --rm --name=cat -v < your_folder > :/media/sf_Shared:rw -p 9000:9000 -e ALLOWED_GROUPS= " <GID_1>;<GID_2>;<GID_...> " lequal/docker-cat: < version > ❗ هذا المثال استخدام -خيار --rm ، لذلك عندما تتوقف الحاوية وسيتم تدميرها مع جميع بياناتها.
❗ تجنب استخدام 0 كـ GUID (على سبيل المثال: -e ALLOWED_GROUPS=0 ): يمكن أن يسبب تعارضًا مع مستخدم الجذر للحاوية.
يمكنك تسجيل الدخول إلى Docker Cat's Sonarqube كمسؤول مع بيانات اعتماد Sonarqube الافتراضية. نظرًا لأنه غير مؤمن (يعرف الجميع ذلك!) ، تأكد من تشغيل Docker Cat في بيئة مضمونة أو تغيير بيانات الاعتماد الافتراضية.
adminadminبصفتك مسؤولًا ، يمكنك تغيير أي تكوين تريده كقيم افتراضية أو قواعد نشطة أو شروط بوابة الجودة ...
بشكل افتراضي ، استخدم Docker Cat قاعدة بيانات H2 المضمنة التي يتم دمجها مع Sonarqube: يجب ألا تستخدم للاستخدام على المدى الطويل. لهذا السبب إذا كنت تتوقع الاحتفاظ ببياناتك لفترة من الوقت ، فيجب عليك التفكير في إعداد قاعدة بيانات أقوى كما هو موضح في الوثائق الرسمية.
بمجرد نشطة الحاوية ، يمكنك استخدام واجهة الويب التي توفرها المكون الإضافي Sonar CNEs Scan لتشغيل تحليل مباشرة عبر متصفح الويب الخاص بك. #Todo
<your_folder>لتكون قابلة للوصول إلى جميع الأدوات المضمنة ، يجب وضع رمز المصدر الخاص بك في حجم Docker الذي تم تركيبه مسبقًا والمجموعة التي تم إعطاء GUID إلى
-e ALLOWED_GROUPS=...المعلمة يجب أن يكون لها أذونات على الدليل بأكمله.
❗ إذا واجهت بعض الصعوبات مع الأذونات على الملفات في مجلدات مثبتة (بسبب تكوين النظام الخاص بك) ، يمكنك نسخ الكود الخاص بك مباشرة إلى الحاوية. قم بتنفيذ أمر docker run عن طريق إزالة أي خيارات -v أو --volume ونسخ الدليل الخاص بك في الدليل /media/sf_Shared من الحاوية باستخدام هذا الأمر docker cp <my_directory> cat:/media/sf_Shared .
فقط افتح متصفح الويب المفضل لديك والوصول إلى واجهة Sonarqube عن طريق كتابة عنوان IP/url Cat Cat تليها
:والمنفذ المعين إلى المنفذ 9000 من الحاوية. إذا بدأت Docker Cat على محطة العمل الخاصة بك مع الأمر الافتراضي المقترح مسبقًا ، فيجب أن يكون لديك كتابةhttp://localhost:9000في شريط العناوين الخاص بك.
عندما يتم تحميل Sonarqube ، انقر فوق
Moreفي شريط الأدوات العلوي الأسود وحددCNES Analysis. يجب أن تظهر صفحة جديدة مع نموذج التحليل.

املأ النموذج من خلال الانتباه إلى:
- الحقول ذات النجمة الحمراء: فهي إلزامية
- حقول
Workspace: افتراضيًا ، دع نقطة.في هذا المجال. إذا كنت ترغب في الحد من نطاق التحليل ، فاكتب المسار النسبي من الدليل/mnt/sf_Shared.- حقول
Workspace: افتراضيًا ، دع نقطة.في هذا المجال. إذا كنت ترغب في الحد من الملفات/المسار الذي تم اعتباره ملفات مصدر (حسب المعارضة لاختبار الملفات) ، فاكتب قائمة مفصولة بالغيبوبة للمسار النسبي بدءًا من دليلWorkspace.Run C/C++ tools: قم بتشغيل زر THS إذا كنت ترغب في تشغيل أدوات مضمنة (CPPCHECK ، VERA ++ والفئران). إذا قمت بتحليل رمز C أو C ++ وكان لديك بالفعل CPPCheck ، فإن Vera ++ أو الفئران ينتج عن دليل العمل الخاص بك ، يمكنك استخدام حقلsonar-project.propertiesلتعيين موقع هذه النتائج وإيقاف التحليل. ارجع إلى وثائق Sonar-CXX لمزيد من المعلومات.sonar-project.propertiesproject.properties حقل: استخدم هذا الحقل لإضافة المزيد من التكوين المتقدم. الرجوع إلى الوثائق الرسمية.

فقط انقر على زر
Analyzeالموجود في أسفل الصفحة لتشغيل التحليل. عند تشغيله بنجاح ، يجب أن يبدأ تنزيل الأرشيف في متصفح الويب الخاص بك. أنه يحتوي على جميع نتائج تحليلك. إذا كان لديك بالفعل تحليل في مثيل CAT الخاص بك ، فيمكنك تجديد التقرير دون إعادة تشغيل التحليل باستخدام النموذج في تقريرMore>CNES Report.
يمكنك إجراء تحليل مع الطريقة الكلاسيكية باستخدام واحدة من الماسحات الضوئية التي توفرها Sonarsource. عليك ببساطة إعطاء URL أو IP حيث تم إطلاق Docker Cat ومنفذ المطابقة الذي تعطيه في أمر Docker الخاص بك للمنفذ 9000 . لمزيد من المعلومات ، استخدم الماسحات الضوئية لـ Sonarsource كما هو موضح في الوثائق الرسمية.
❗ مع هذه الطرق ، قد لا تعمل الأداة التلقائية مثل cppcheck ، إذا لم يتم تعيينها بشكل صحيح.
نظام تشغيل قائمة الجدول هذا تم اختبار Docker Cat (تم وضع علامة عليه كـ ✔) أو لا (ملحوظ AS❓) أو ببساطة غير مدعوم (تم وضع علامة عليه).
| إصدار Docker Cat | Linux (Centos & Debian) | Mac OS | النوافذ |
|---|---|---|---|
3.2.2 | ✔ | ❓ | ❓ |
3.0.0 | ✔ | ❓ | ❓ |
2.1.0 | ✔ | ❓ | ❓ |
2.0.2 | ✔ | ❓ | ❓ |
2.0.1 | ✔ | ❓ | ❓ |
< 2.0.0 | ✔ | ❓ | ✔ |
يتم تمييز البرامج الجديدة والمحدثة مع الرموز التعبيرية؟
| أدوات | الإصدارات |
|---|---|
| ؟ Sonarqube-Catlab | 3.2.2 |
| ؟ الماسح الضوئي السونار | 5.0.1.3006 |
| ؟ cppcheck | 2.13.0 |
| ؟ I-code cnes | 4.1.2 |
| ؟ بيثون 3 | 3.10.4 |
| ؟ pip | 22.0.2 |
| ؟ setuptools-SCM | 8.0.4 |
| ؟ Pytest-Runner | 6.0.1 |
| ؟ wrapt | 1.16.0 |
| ستة | 1.16.0 |
| ؟ كسول الكائن proxy | 1.10.0 |
| مكابي | 0.7.0 |
| ؟ isort | 5.13.2 |
| ؟ طباعة | 1.5.5 |
| Astroid | 2.15.2 |
| بيلنت | 2.17.2 |
| CNES-PALINT-EXTENSION | 6.0.0 |
| يصنع | 4.3 |
| مجلس التعاون الخليجي | 4: 11.2.0 |
| shellcheck | 0.8.0 |
إذا واجهت مشكلة في البرنامج المساعد ، فيرجى فتح مشكلة. داخل هذه المسألة ، يرجى توضيحنا كيفية إعادة إنتاج هذه المشكلة ولصق السجل.
إذا كنت ترغب في القيام بالعلاقات العامة ، فيرجى وضعه في الداخل سبب طلب السحب هذا. إذا كان طلب السحب هذا إصلاح مشكلة ، فيرجى إدراج عدد المشكلة أو شرح داخل العلاقات العامة كيفية إعادة إنتاج هذه المشكلة.
جميع التفاصيل متوفرة في المساهمة.
الأخطاء وطلبات الميزات: https://github.com/cnescatlab/docker-cat/issues
مرخصة بموجب ترخيص GNU العام العام ، الإصدار 3.0