For a full breakdown of the methodology behind this project there is a blog post here: TODO: Add Blog post when published
What you'll need:
fmt-rust
runs cargo fmt on the projectfmt-terraform
runs tflint on the projectbuild-debug
creates a build of the app with debug symbols (this can be quiet large)build-production
creates optimised productions builds of the appnpm-install
installs dependencies for integration and load teststest
runs unit and integration teststest-rust
runs unit teststest-int
runs integration tests (Requires a deployed environment)init
initialises terraformplan
creates a plan using terraformdeploy
deploys resorces to AWS (requires a previous build)destroy
destroys cloud resources via terraform destroybuild-deploy
builds app and deploys to AWS on ARM architecturebuild-deploy-x86
same asbuild-deploy
but on x86-64 architecturebuild-deploy-test
runs unit tests, build app for production, deploys app, and runs integration testsbuild-deploy-test-x86
same asbuild-deploy-test
but on x86-64 architecturebuild-deploy-test-destroy
same asbuild-deploy-test
but with environment teardown at the endbuild-deploy-test-destroy-x86
same asbuild-deploy-test-destroy
but on x86-64 architectureload-test
runs artillery tests against app