这是 EPICS 控制系统归档器的实现,旨在归档数百万个 PV。在高层次上,一些功能是
有关更多详细信息,请参阅文档,或当前分支文档。
归档器设备使用 gradle 构建工具。您可以使用 gradle 包装器命令./gradlew
,它会为您下载 gradle。或者您可以安装一个 gradle 版本,该版本的版本 > gradle 包装器属性中包装器的版本并使用gradle
命令。
要构建,只需运行:
gradle
然后可以在build/distributions
文件夹中找到生成的发行版。要构建特定于站点的自定义版本,请将环境变量 ARCHAPPL_SITEID 设置为src/sitespecific
中的文件夹名称。 src/sitespecific/slacdev
中有一个自定义构建示例。
该项目使用spotless 来实现标准化格式。新代码会根据“origin/master”进行检查(在 CI 中运行时,这可能与本地源远程不同)。目前,这包括 Java 代码和 Web 代码(HTML、CSS、javascript)。
要格式化新代码,请运行:
gradle spotlessApply
或者检查格式是否正确运行:
gradle spotlessCheck
测试被组织成不同的标签:“slow”、“integration”、“localEpics”、“flaky”、“singleFork”、“unit”。
运行单元测试(构建过程需要这些测试才能完成):
gradle test
要运行单个测试,例如“TestName”:
gradle test --tests " org.epics.archiverappliance.TestName "
下面的其余命令也可以与--tests
参数一起使用来运行单个测试。
要运行包括“片状”和“慢速”测试:
gradle unitTests
集成测试需要安装 Tomcat(Archiver Appliance 仅支持版本 9)。然后必须设置“conf”文件夹所在的环境变量TOMCAT_HOME
。
运行需要本地安装 EPICS 的测试。
gradle epicsTests
可以使用包含 EPICS 的 docker 镜像来运行 Epiks 测试:
docker compose -f docker/docker-compose.epicsTests.yml run epicsarchiver-test
其他集成测试会在磁盘上生成大量数据,建议不要同时运行它们。要运行单个集成测试:
gradle integrationTests --tests " org.epics.archiverappliance.retrieval.DataRetrievalServletTest "
就像在集成测试中一样运行应用程序,例如手动测试新开发。您可以使用命令:
gradle testRun
然后访问正在运行的appliance0和appliance1。要关闭应用程序,请中断命令(例如使用 Ctrl-c),然后可以运行:
gradle shutdownAllTomcats
请注意,这将关闭所有正在运行的 tomcat,而不仅仅是使用gradle testRun
创建的 tomcat。如果您也中断集成测试,则运行此命令很有用。
要快速部署单个设备:
./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