これは、数百万の PV をアーカイブすることを目的とした EPICS 制御システム用のアーカイバの実装です。大まかに言うと、いくつかの機能は次のとおりです。
詳細については、ドキュメントまたは Current Branch のドキュメントを参照してください。
アーカイバ アプライアンスは 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 イメージを使用して、エピック テストを実行することができます。
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
これにより、 gradle testRun
で作成された Tomcat だけでなく、実行中のすべての Tomcat がシャットダウンされることに注意してください。統合テストを中断する場合にも、このコマンドを実行すると便利です。
単一のアプライアンスを迅速に導入するには:
./quickstart.sh apache-tomcat-9. * .tar.gz
詳細については、クイックスタート ドキュメントを参照してください。より複雑な展開については、サンプル フォルダーを参照してください。
Web サイトのドキュメントは、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