Troubleshooting & FAQ
Common issues and how to resolve them.
Deployment Issues
My deployment is stuck or not progressing
Possible causes:
- Waiting for approval — Check if a Terraform approval, test approval, or bake period is pending. Go to the deployment in the dashboard and look for steps with an "Awaiting Approval" status.
- Deployment window — If a stage has a deployment time window configured, deployments will queue until the window opens. See Deployment Windows.
- Stage is blocked — A previous rollback may have blocked the stage. Check Stage Controls for how to unblock.
- Resource timeout — ECS or EKS deployments may be waiting for containers to become healthy. Check the step logs for progress details.
My deployment timed out
Each step type has a configurable timeout parameter (in minutes). If a step exceeds its timeout, it fails. Check the step logs for what was happening when the timeout occurred, and consider increasing the timeout value in your pipeline definition.
Any branch push triggers a deployment
Currently, any push to any branch of a connected repository triggers a deployment. All branches go through the same pipeline stages. Branch filtering is not yet supported — plan your branching strategy accordingly, or use a single deployment branch.
My rollback didn't work as expected
Rollbacks re-execute the deployment steps from a previous revision against the stage. Key things to know:
- Infrastructure steps (Terraform) are skipped by default during rollbacks to avoid unintended infrastructure changes.
- The rollback deploys the artifacts from the selected previous revision.
- After a rollback, the stage is automatically blocked from further promotions until you manually unblock it. See Unblock After Rollback.
Build Issues
My artifact isn't rebuilding
DevRamps uses a cache key based on the rebuild_when_changed paths to decide whether to rebuild an artifact. If the files under those paths haven't changed since the last successful deployment, the artifact is reused from cache.
To force a rebuild:
- Make any change to a file under the
rebuild_when_changedpaths and push. - Verify that your
rebuild_when_changedpaths are correct — they should cover your source code, Dockerfile, and any build-related files.
Docker build is failing
Common causes:
- Wrong architecture — If your ECS service runs on ARM (Graviton), make sure your artifact's
architectureis set toarm64, not the defaultamd64. - Missing dependencies — Check that your Dockerfile installs all required build dependencies.
- Build context — The
build_contextanddockerfile_pathare relative to your repository root.
Check the build logs in the dashboard for the specific error message.
Bootstrap & CLI Issues
Bootstrap failed
Common causes:
- Wrong credentials — Ensure your AWS CLI is configured with credentials that have administrator access to the target account. Run
aws sts get-caller-identityto verify. - Insufficient permissions — The bootstrap process needs permissions to create CloudFormation stacks, IAM roles, and OIDC providers. Administrator access is recommended.
- Account already bootstrapped — If the account was previously bootstrapped, the CloudFormation stack may already exist. Check your CloudFormation console for a DevRamps stack.
Recommended approach: Always run npx @devramps/cli bootstrap --dry-run first to preview what will be created before making any changes.
See the CLI troubleshooting section for more specific error messages.
When do I need to re-bootstrap?
You need to re-bootstrap an AWS account when:
- You add a new step type to your pipeline that requires additional IAM permissions.
- You want to update the IAM policies that DevRamps uses in your account.
- DevRamps releases a new version of the bootstrap stack.
Re-bootstrapping updates the existing CloudFormation stack — it does not create duplicate resources.
Pipeline Configuration Issues
Pipeline synthesis failed
Pipeline synthesis validates your pipeline.yaml when a deployment starts. Common errors:
- Invalid YAML syntax — Check for indentation errors, missing colons, or unclosed quotes.
- Unknown step type — Verify the step
typematches a registered step (e.g.,DEVRAMPS:ECS:DEPLOY, notECS:DEPLOY). - Missing required fields — Check that all required parameters for each step are provided.
- Invalid expressions — Ensure
${{ }}expressions reference valid objects (e.g.,stage.account_id, notaccount_id).
Expression resolved to empty or undefined
If an expression like ${{ vars.my_var }} resolves to an empty value:
- Check that the variable is defined in the stage's
varssection. - Check spelling and case sensitivity — variable names are case-sensitive.
- Step output references (
${{ steps.my_step.output_name }}) are only available after the referenced step has completed.
Terraform Issues
Terraform plan shows unexpected changes
- State drift — If someone made manual changes to infrastructure outside of DevRamps, Terraform will detect drift and plan changes to bring the state back in line.
- State file location — DevRamps stores Terraform state in an S3 bucket in your CI/CD account. Make sure no other process is managing the same resources with a different state file.
Where is my Terraform state stored?
Terraform state is stored in an S3 bucket in your CI/CD account. DevRamps manages the state backend configuration automatically — you don't need to configure a backend in your Terraform files.
General FAQ
What languages and frameworks does DevRamps support?
DevRamps is language-agnostic. Any application that can be packaged as a Docker image or a file bundle can be deployed. This includes Node.js, Python, Go, Java, Ruby, .NET, static sites, and more. See Supported Platforms.
Does DevRamps work with GitLab, Bitbucket, or other Git providers?
No. DevRamps currently requires GitHub. Support for other Git providers is not yet available.
What AWS regions are supported?
DevRamps can deploy to any AWS region. Your pipeline stages specify the target region in the deployment_target configuration.
How do I get an API token?
API tokens can be generated from the DevRamps dashboard under your organization settings. All API requests require a bearer token for authentication.
Can I use DevRamps without AWS?
No. DevRamps is built specifically for AWS deployments. Support for other cloud providers is not currently available.