นี่คือการใช้งานโปรแกรมจัดเก็บสำหรับระบบควบคุม EPICS ที่มีเป้าหมายเพื่อจัดเก็บ PV หลายล้านรายการ ในระดับสูงจะมีคุณลักษณะบางประการคือ
สำหรับรายละเอียดเพิ่มเติม โปรดดูเอกสารประกอบหรือเอกสารสาขาปัจจุบัน
อุปกรณ์ Archiver ใช้เครื่องมือสร้างการไล่ระดับ คุณสามารถใช้คำสั่ง gradle wrapper ./gradlew
ซึ่งจะดาวน์โหลด gradle ให้กับคุณ หรือคุณสามารถติดตั้งเวอร์ชัน gradle ที่มีเวอร์ชัน > เวอร์ชันของ wrapper ในคุณสมบัติ gradle wrapper และใช้คำสั่ง gradle
หากต้องการสร้างเพียงแค่เรียกใช้:
gradle
ผลลัพธ์ของการแจกแจงสามารถพบได้ในโฟลเดอร์ build/distributions
หากต้องการสร้างสำหรับเวอร์ชันที่กำหนดเองเฉพาะไซต์ ให้ตั้งค่าตัวแปรสภาพแวดล้อม ARCHAPPL_SITEID เป็นชื่อโฟลเดอร์ใน src/sitespecific
มีตัวอย่างบิลด์ที่กำหนดเองใน src/sitespecific/slacdev
โปรเจ็กต์นี้ใช้ Spotless เพื่อมุ่งสู่การจัดรูปแบบที่เป็นมาตรฐาน มีการตรวจสอบโค้ดใหม่กับ "origin/master" (เมื่อรันใน 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 (Archiver Appliance รองรับเวอร์ชัน 9 เท่านั้น) จะต้องตั้งค่าตัวแปรสภาพแวดล้อม TOMCAT_HOME
ซึ่งมีโฟลเดอร์ "conf" อยู่
เพื่อรันการทดสอบที่ต้องมีการติดตั้ง EPICS ในเครื่อง
gradle epicsTests
คุณสามารถใช้อิมเมจนักเทียบท่าที่มี EPICS เพื่อรันการทดสอบ 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
โปรดทราบว่าการดำเนินการนี้จะปิด Tomcat ทั้งหมดที่ทำงานอยู่ ไม่ใช่แค่การสร้างด้วย gradle testRun
การรันคำสั่งนี้มีประโยชน์หากคุณขัดจังหวะการทดสอบการรวมระบบด้วยเช่นกัน
หากต้องการปรับใช้อุปกรณ์เดียวอย่างรวดเร็ว:
./quickstart.sh apache-tomcat-9. * .tar.gz
สำหรับข้อมูลเพิ่มเติม โปรดดูเอกสารประกอบการเริ่มต้นอย่างรวดเร็ว สำหรับการปรับใช้ที่ซับซ้อนยิ่งขึ้น โปรดดูโฟลเดอร์ตัวอย่าง
เอกสารประกอบสำหรับเว็บไซต์สร้างขึ้นโดยใช้ Read the Docs วิธีสร้างและรันในเครื่อง:
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