Il s'agit d'une implémentation d'un archiveur pour les systèmes de contrôle EPICS qui vise à archiver des millions de PV. À un niveau élevé, certaines fonctionnalités sont
Pour plus de détails, veuillez consulter la documentation ou la documentation actuelle de la branche.
L’appliance d’archivage utilise l’outil de construction Gradle. Vous pouvez utiliser la commande gradle wrapper ./gradlew
, qui télécharge gradle pour vous. Ou vous pouvez installer une version Gradle qui a une version > la version du wrapper dans les propriétés du wrapper gradle et utiliser la commande gradle
.
Pour construire, exécutez simplement :
gradle
La distribution résultante peut alors être trouvée dans le dossier build/distributions
. Pour créer une version personnalisée spécifique au site, définissez la variable d'environnement ARCHAPPL_SITEID sur un nom de dossier dans src/sitespecific
. Il existe un exemple de construction personnalisée dans src/sitespecific/slacdev
.
Ce projet utilise le spotless pour viser un formatage standardisé. Le nouveau code est vérifié par rapport à "origine/maître" (lorsqu'il est exécuté dans CI, cela peut être différent de votre télécommande d'origine locale). Actuellement, cela inclut le code Java et le code Web (HTML, CSS, javascript).
Pour formater un nouveau code, exécutez :
gradle spotlessApply
Ou pour vérifier que le formatage est correct, exécutez :
gradle spotlessCheck
Les tests sont organisés en différentes balises : "slow", "integration", "localEpics", "flaky", "singleFork", "unit".
Pour exécuter des tests unitaires (ceux-ci sont requis pour que le processus de construction se termine) :
gradle test
Pour exécuter un seul test, par exemple "TestName" :
gradle test --tests " org.epics.archiverappliance.TestName "
Le reste des commandes ci-dessous peuvent également être utilisées avec l'argument --tests
pour exécuter un seul test.
Pour exécuter des tests incluant des tests "flocons" et "lents" :
gradle unitTests
Les tests d'intégration nécessitent une installation de Tomcat (l'Archiveur Appliance ne prend en charge que jusqu'à la version 9). La variable d'environnement TOMCAT_HOME
où existe un dossier "conf" doit alors être définie.
Pour exécuter des tests nécessitant une installation locale d'EPICS.
gradle epicsTests
Il est possible d'utiliser une image docker contenant EPICS pour exécuter les tests epics :
docker compose -f docker/docker-compose.epicsTests.yml run epicsarchiver-test
Les autres tests d'intégration produisent beaucoup de données sur le disque et il est conseillé de ne pas les exécuter toutes en même temps. Pour exécuter un seul test d'intégration :
gradle integrationTests --tests " org.epics.archiverappliance.retrieval.DataRetrievalServletTest "
Pour exécuter l'application comme si elle était dans un test d'intégration, par exemple pour tester manuellement un nouveau développement. Vous pouvez utiliser la commande :
gradle testRun
Et puis accédez à l’appliance0 et à l’appliance1 en cours d’exécution. Pour arrêter l'application, interrompez la commande (en utilisant Ctrl-c par exemple) puis vous pouvez exécuter :
gradle shutdownAllTomcats
Notez que cela arrêtera tous les Tomcats en cours d'exécution, pas n'importe lesquels créés avec gradle testRun
. Il est utile d'exécuter cette commande si vous interrompez également un test d'intégration.
Pour un déploiement rapide d’une seule appliance :
./quickstart.sh apache-tomcat-9. * .tar.gz
Pour plus d’informations, consultez la documentation de démarrage rapide. Pour des déploiements plus compliqués, consultez le dossier d'exemples.
La documentation du site Web est créée à l'aide de Read the Docs. Pour le construire et l'exécuter localement :
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