هذا هو تطبيق أرشيفي لأنظمة التحكم EPICS التي تهدف إلى أرشفة الملايين من الخلايا الكهروضوئية. على مستوى عال، بعض الميزات
لمزيد من التفاصيل، يرجى مراجعة الوثائق، أو وثائق الفرع الحالي.
يستخدم جهاز الأرشفة أداة بناء Gradle. يمكنك استخدام أمر gradle Wrapper ./gradlew
، الذي يقوم بتنزيل gradle لك. أو يمكنك تثبيت إصدار gradle يحتوي على إصدار> إصدار المجمع في خصائص gradle Wrapper واستخدام أمر gradle
.
للبناء ببساطة قم بتشغيل:
gradle
يمكن بعد ذلك العثور على التوزيع الناتج في مجلد build/distributions
. لإنشاء إصدار مخصص خاص بالموقع، قم بتعيين متغير البيئة ARCHAPPL_SITEID على اسم مجلد في src/sitespecific
. يوجد مثال على إنشاء مخصص في src/sitespecific/slacdev
.
يستخدم هذا المشروع نظيفًا ليهدف إلى التنسيق الموحد. يتم التحقق من الكود الجديد مقابل "Origin/Master" (عند تشغيله في CI، قد يكون هذا مختلفًا عن جهاز التحكم عن بعد الخاص بالأصل المحلي). يتضمن هذا حاليًا كود Java ورمز الويب (HTML وCSS وjavascript).
لتنسيق تشغيل التعليمات البرمجية الجديدة:
gradle spotlessApply
أو للتأكد من صحة التنسيق قم بتشغيل:
gradle spotlessCheck
يتم تنظيم الاختبارات في علامات مختلفة: "بطيء"، و"التكامل"، و"localEpics"، و"flaky"، و"singleFork"، و"unit".
لتشغيل اختبارات الوحدة (هذه الاختبارات مطلوبة لإكمال عملية الإنشاء):
gradle test
لتشغيل اختبار واحد، على سبيل المثال "TestName":
gradle test --tests " org.epics.archiverappliance.TestName "
يمكن أيضًا استخدام بقية الأوامر أدناه مع الوسيطة --tests
لإجراء اختبار واحد.
للتشغيل بما في ذلك الاختبارات "غير المستقرة" و"البطيئة":
gradle unitTests
تتطلب اختبارات التكامل تثبيت Tomcat (يدعم جهاز Archiver ما يصل إلى الإصدار 9 فقط). يجب بعد ذلك تعيين متغير البيئة TOMCAT_HOME
حيث يوجد مجلد "conf".
لإجراء اختبارات تتطلب التثبيت المحلي لـ EPICS.
gradle epicsTests
من الممكن استخدام صورة عامل إرساء تحتوي على EPICS لتشغيل اختبارات الملاحم:
docker compose -f docker/docker-compose.epicsTests.yml run epicsarchiver-test
تنتج اختبارات التكامل الأخرى الكثير من البيانات على القرص، وينصح بعدم تشغيلها كلها مرة واحدة. لإجراء اختبار تكامل واحد:
gradle integrationTests --tests " org.epics.archiverappliance.retrieval.DataRetrievalServletTest "
لتشغيل التطبيق تمامًا كما لو كان في اختبار تكامل، على سبيل المثال لاختبار تطوير جديد يدويًا. يمكنك استخدام الأمر:
gradle testRun
ثم قم بالوصول إلى الأجهزة قيد التشغيل0 والأجهزة1. لإيقاف تشغيل التطبيق، قم بمقاطعة الأمر (باستخدام Ctrl-c على سبيل المثال) ثم يمكنك تشغيل:
gradle shutdownAllTomcats
لاحظ أن هذا سيؤدي إلى إيقاف تشغيل كافة القطط قيد التشغيل، وليس فقط أي منها تم إنشاؤها باستخدام gradle testRun
. من المفيد تشغيل هذا الأمر إذا قمت بمقاطعة اختبار التكامل أيضًا.
للنشر السريع لجهاز واحد:
./quickstart.sh apache-tomcat-9. * .tar.gz
لمزيد من المعلومات، راجع وثائق التشغيل السريع. لمزيد من عمليات النشر المعقدة، راجع مجلد العينات.
تم إنشاء وثائق موقع الويب باستخدام قراءة المستندات. لإنشائه وتشغيله محليًا:
cd docs
python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade --no-cache-dir pip setuptools
python -m pip install --upgrade --no-cache-dir sphinx readthedocs-sphinx-ext
python -m pip install --exists-action=w --no-cache-dir -r docs/requirements.txt
cd docs
sphinx-autobuild source build