このプロジェクトでは、Dockerを使用した起動方法とローカルのGoを使用した起動方法の両方が提供されています。それぞれの方法で一発で起動できるように設定されています。また、CACHE_UPDATE_INTERVALのフラグを使用して、キャッシュの更新間隔を秒単位で指定することが可能です。
Dockerを使用してコンポーネントを起動する手順は以下の通りです。
-
Dockerのインストール: Dockerがインストールされていない場合は、公式サイトからインストールしてください。
-
コンポーネントの起動: プロジェクトのルートディレクトリで以下のコマンドを実行すると、Dockerイメージのビルドからコンテナの起動までを一度に行います。
make run-docker CACHE_UPDATE_INTERVAL=<interval_in_seconds>
例: キャッシュ更新間隔を60秒に設定して起動する場合は、次のコマンドを実行します。
make run-docker CACHE_UPDATE_INTERVAL=60
ローカルのGo環境を使用してコンポーネントを起動する手順は以下の通りです。
-
Goのインストール: ローカル環境にGoがインストールされている必要があります。Goの公式サイトからインストールしてください。
-
ビルドと実行: 以下のコマンドを使用して、ローカルでGraphQLサーバーとgRPCサーバーをビルドし、起動します。
make run-local CACHE_UPDATE_INTERVAL=<interval_in_seconds>
例: キャッシュ更新間隔を60秒に設定して起動する場合は、次のコマンドを実行します。
make run-local CACHE_UPDATE_INTERVAL=60
注意事項: CACHE_UPDATE_INTERVALは、キャッシュの更新間隔を秒単位で指定するためのフラグです。このフラグを使用することで、キャッシュの更新間隔を動的に設定することができます。
Cloud RunやKubernetesなどのコンテナオーケストレーションプラットフォームでのデプロイを念頭に置いています。そのため、Dockerfile や docker-compose.yml が用意されており、これらの環境でのスムーズなデプロイが可能です。
下記コマンドを実行することで、テストを実行することができます。
make testインフラ層とのやり取りはgithub.com/matryer/moqで作成したモックを使用しています。