이는 수백만 개의 PV를 보관하는 것을 목표로 하는 EPICS 제어 시스템용 아카이버 구현입니다. 높은 수준에서 일부 기능은 다음과 같습니다.
자세한 내용은 해당 문서나 현재 지점 문서를 참조하세요.
아카이버 어플라이언스는 Gradle 빌드 도구를 사용합니다. Gradle을 다운로드하는 Gradle 래퍼 명령 ./gradlew
를 사용할 수 있습니다. 또는 gradle 래퍼 속성에서 래퍼 버전보다 버전이 있는 gradle 버전을 설치하고 gradle
명령을 사용할 수 있습니다.
빌드하려면 다음을 실행하세요.
gradle
결과 배포판은 build/distributions
폴더에서 찾을 수 있습니다. 사이트별 사용자 정의 버전을 빌드하려면 환경 변수 ARCHAPPL_SITEID를 src/sitespecific
의 폴더 이름으로 설정하세요. src/sitespecific/slacdev
에 예제 커스텀 빌드가 있습니다.
이 프로젝트는 표준화된 형식을 목표로 Spotless를 사용합니다. 새 코드는 "원본/마스터"에 대해 확인됩니다(CI에서 실행될 때 로컬 원본 원격과 다를 수 있음). 현재 여기에는 Java 코드와 웹 코드(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 설치가 필요합니다(Arriver Appliance는 버전 9까지만 지원). 그런 다음 "conf" 폴더가 존재하는 환경 변수 TOMCAT_HOME
설정해야 합니다.
EPICS의 로컬 설치가 필요한 테스트를 실행합니다.
gradle epicsTests
EPICS가 포함된 Docker 이미지를 사용하여 epics 테스트를 실행할 수 있습니다.
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
이렇게 하면 gradle testRun
으로 생성된 Tomcat뿐만 아니라 실행 중인 모든 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