Ini merupakan implementasi pengarsipan untuk sistem kontrol EPICS yang bertujuan untuk mengarsipkan jutaan PV. Pada tingkat tinggi, beberapa fiturnya adalah
Untuk lebih jelasnya, silakan lihat dokumentasi, atau dokumentasi cabang saat ini.
Alat pengarsip menggunakan alat gradle build. Anda dapat menggunakan perintah gradle wrapper ./gradlew
, yang mengunduh gradle untuk Anda. Atau Anda dapat menginstal versi gradle yang memiliki versi > versi wrapper di properti gradle wrapper dan menggunakan perintah gradle
.
Untuk membangun cukup jalankan:
gradle
Distribusi yang dihasilkan kemudian dapat ditemukan di folder build/distributions
. Untuk membuat versi khusus situs yang disesuaikan, atur variabel lingkungan ARCHAPPL_SITEID ke nama folder di src/sitespecific
. Ada contoh pembuatan khusus di src/sitespecific/slacdev
.
Proyek ini menggunakan spotless untuk mencapai format standar. Kode baru diperiksa terhadap "asal/master" (bila dijalankan di CI, ini mungkin berbeda dengan remote asal lokal Anda). Saat ini, ini mencakup kode Java, dan kode web (HTML, CSS, javascript).
Untuk memformat kode baru, jalankan:
gradle spotlessApply
Atau untuk memeriksa apakah pemformatan sudah benar, jalankan:
gradle spotlessCheck
Tes disusun dalam tag yang berbeda: "lambat", "integrasi", "localEpics", "flaky", "singleFork", "unit".
Untuk menjalankan pengujian unit (ini diperlukan agar proses pembangunan dapat diselesaikan):
gradle test
Untuk menjalankan satu pengujian, misalnya "TestName":
gradle test --tests " org.epics.archiverappliance.TestName "
Perintah lainnya di bawah ini juga dapat digunakan dengan argumen --tests
untuk menjalankan satu pengujian.
Untuk menjalankan pengujian yang "tidak stabil" dan "lambat":
gradle unitTests
Tes integrasi memerlukan instalasi Tomcat (Alat Pengarsip hanya mendukung hingga versi 9). Variabel lingkungan TOMCAT_HOME
tempat folder "conf" berada harus disetel.
Untuk menjalankan pengujian memerlukan instalasi EPICS lokal.
gradle epicsTests
Dimungkinkan untuk menggunakan gambar buruh pelabuhan yang berisi EPICS untuk menjalankan tes epics:
docker compose -f docker/docker-compose.epicsTests.yml run epicsarchiver-test
Tes integrasi lainnya menghasilkan banyak data pada disk, dan disarankan untuk tidak menjalankan semuanya sekaligus. Untuk menjalankan pengujian integrasi tunggal:
gradle integrationTests --tests " org.epics.archiverappliance.retrieval.DataRetrievalServletTest "
Untuk menjalankan aplikasi seolah-olah sedang dalam pengujian integrasi, misalnya untuk menguji pengembangan baru secara manual. Anda dapat menggunakan perintah:
gradle testRun
Dan kemudian akses alat0 dan alat1 yang sedang berjalan. Untuk mematikan aplikasi, hentikan perintah (misalnya menggunakan Ctrl-c) lalu Anda dapat menjalankan:
gradle shutdownAllTomcats
Perhatikan ini akan mematikan semua kucing jantan yang berjalan, bukan sembarang yang dibuat dengan gradle testRun
. Berguna untuk menjalankan perintah ini jika Anda juga mengganggu pengujian integrasi.
Untuk penerapan cepat satu alat:
./quickstart.sh apache-tomcat-9. * .tar.gz
Untuk informasi selengkapnya lihat dokumentasi mulai cepat. Untuk penerapan yang lebih rumit, lihat folder sampel.
Dokumentasi untuk website dibuat menggunakan Read the Docs. Untuk membangunnya dan menjalankannya secara lokal:
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