したがって、私のアプリスタックは本番環境で次のようになります。
- バックエンド: AWS API Gateway + Lambda + DynamoDB + ElastiCache(redis)
- バックエンド - アルゴリズム: 実行時間の長いプロセス - ECS (Fargate) で実行されている Docker 化された Java アプリ
- フロントエンド: S3 から提供される Angular アプリ
https://www.cypress.io/をエンド ツー エンドのテストに使用し、 https://circleci.com/をビルド サーバーに使用したいと考えています。
エンド ツー エンドのテストを実行できる環境を作成するにはどうすればよいですか?
オプション:
1) Terraform を使用してインフラストラクチャのスクリプトを作成し、エンドツーエンドのテストを実行するたびに環境全体を作成/破棄します。これは、スピンアップ時間の点で大きなオーバーヘッドのように思えます。また、完全にスクリプト化された環境の作成とセットアップは、大変な作業のように思えます!
2) 段階的に展開する専用の長期的な環境を作成します。これはぐちゃぐちゃになりそうです。テストを実行する場所としては理想的ではありません。
3) 環境をローカルで実行できるようにします。したがって、おそらくAWSのSAMまたはこのプロジェクトのようなものを使用してください https://github.com/gertjvr/serverless-plugin-simulate
その最後のオプションは、ローカル開発環境のセットアップの問題にも答える可能性がありますが、サーバーレス技術をローカルでモックするものはすべてベータ版のようであり、その道をたどると、多くの時間を費やした後にいくつかの問題が発生する可能性があるのではないかと心配しています. ...