這是 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