ScaleBop doesn't host your app. It writes the files that deploy it into your GitHub repository, and those files run from your GitHub account into your AWS account. Here's what they are.
Two additions, in one pull request
infra/is an AWS CDK project that defines the infrastructure your app runs on..github/workflows/deploy.ymlis the GitHub Actions workflow that runs the deployment.
They arrive as a pull request, so you can read what will run before anything does.
What a deployment does
- Builds your app.
- Deploys the infrastructure with AWS CDK into your AWS account. For container apps, this step also pushes your Docker image and rolls the service out, rolling back on its own if the new version never becomes healthy.
- For static sites, publishes the built files to AWS.
- Runs a health check to confirm the URL is serving your real app.
No stored AWS keys
The workflow signs in to AWS with a short-lived role, using OpenID Connect. No long-lived AWS credentials live in your repository.
Why it lives in your repo
Because the deployment is code in your repository, you can review every change to it like any other pull request, and you can run the workflow yourself from the Actions tab in GitHub. The infrastructure it creates is in your AWS account, where you can see it.
For the full detail, see how ScaleBop deploys.