OpenSearchを使ったCIをやりたかったで、CircleCI上でOpenSearchを起動させました。
前提
- OpenSearch v2.9
方法
- 以下のように設定することで可能です。
- image: opensearchproject/opensearch:2.9.0
environment:
OPENSEARCH_JAVA_OPTS: "-Xms512m -Xmx512m"
command: >
bash -c '
opensearch-plugin install analysis-kuromoji;
opensearch-plugin install analysis-icu;
echo "plugins.security.disabled: true" >> /usr/share/opensearch/config/opensearch.yml;
echo "node.name: os-node" >> /usr/share/opensearch/config/opensearch.yml;
echo "cluster.initial_cluster_manager_nodes: os-node" >> /usr/share/opensearch/config/opensearch.yml;
echo -e "discovery.seed_hosts:\n - os-node" >> /usr/share/opensearch/config/opensearch.yml;
opensearch
'
ポイント
- プラグインは
command
で入れる - 各種設定は
opensearch.yml
で必要ですが、これもやっぱりcommand
で入れる
余談
- 上記でCIが動くようになったのですが、データをputしても反映されるの時間がかかるので、ユニットテスト上でやるのは、どうなのか!?って思います。
- テストを並列に実行したかったら、テストケース毎に、インデックスを変えれば良いと思います。