Skip to content

Latest commit

 

History

History
61 lines (43 loc) · 2.78 KB

File metadata and controls

61 lines (43 loc) · 2.78 KB

common.env.defaultcommon.envとしてコピーし編集する

$ cp common.env.default common.env

環境変数のPREFIX(すべて英数字。英字は小文字のみ)、APPLICATION_NAMEを適宜変更する。 PREFIXはpwgen -Aで生成することを推奨する。

$ pwgen -A

pwgenがない場合はbrew install pwgenでインストールしてください。

ビルド方法

ビルドを行う前に、Dockerを必ず起動してください。

ビルドを行う前に以下のコマンドでDBだけを起動します。(sqlxがDBに接続できるようにするため)

$ makers docker-compose-up-db
$ makers build

注意: sqlxにて発行するSQLを追加、修正した際は、各プロジェクト直下でcargo sqlx prepareを実行する必要があります(.sqlx/ にJSONファイルが生成されます)が、makers build時に自動的にcargo sqlx prepareが実行されるように設定しています。 なので、SQLを追加、修正した際は必ずmakers buildを実行してください。生成された.sqlx/*.json ファイルはgitの管理下に含めてください。このときに、DBサーバに接続する必要があるので、makers docker-compose-up-db を実行しておく必要があります。

LocalStack上でのLambdaデプロイ

makers docker-compose-up を実行すると、コンテナ起動後に LocalStack へ Lambda が自動デプロイされます。手動で再デプロイしたい場合は次のコマンドを利用してください。

$ makers build-read-model-updater-lambda
$ makers deploy-read-model-updater-localstack

build-read-model-updater-lambda は Docker 上で Lambda 互換バイナリをビルドして dist/lambda/read-model-updater/bootstrap.zip を生成します。 deploy-read-model-updater-localstack は AWS CLI を利用し、LocalStack に Lambda 関数を作成した後で journal テーブルのストリームとイベントソースマッピングを貼ります。 環境変数は common.env から読み込まれるため、LocalStack のエンドポイントやダミー認証情報を適宜設定してください。

テスト方法

テストを実行する前に、Dockerを必ず起動してください。

$ makers test

注意: cargo test でもテスト可能なのですが、今回はtestcontainersを使っている関係で同時に実行するテスト数を環境変数(RUST_TEST_THREADS=1) で制限しています。 つまり、RUST_TEST_THREADS=1 cargo testでないとテストが正常に実行できないのでご注意ください。 makers testではデフォルトでRUST_TEST_THREADS=1となっているので、そのまま実行しても問題ありません。