Skip to main content

Build Host Dependencies

Build VMs run on Amazon Linux 2023 and come with a standard set of development tools pre-installed. You can add language runtimes, IaC tools, and cloud CLIs using the dependencies field on artifact definitions and VM-based steps.

Using the dependencies Field

Specify dependencies as a list of tool.version strings. The version prefix is matched against available versions, so node.22 resolves to the latest installed 22.x release.

artifacts:
My App:
type: DEVRAMPS:BUNDLE:BUILD
dependencies: ["node.22", "python.3.12"]
params:
build_commands: |
npm ci
python scripts/generate.py
zip -r app.zip dist/
file_path: /app.zip

If you omit the version, the latest installed version is used:

dependencies: ["node"]  # resolves to Node.js 24.x

You can be as specific as you need:

dependencies: ["node.20"]      # resolves to 20.12.0
dependencies: ["node.22.5"] # resolves to 22.5.0
dependencies: ["node.22.5.0"] # exact match

Installable Dependencies

Language Runtimes

DependencyVersionsNotes
node18.20.1, 20.12.0, 22.5.0, 24.0.0Node.js with npm. Use node.22 for the latest 22.x.
python3.10.14, 3.11.9, 3.12.5, 3.13.1, 3.14.2CPython with pip. Use python.3.12 for the latest 3.12.x.
go1.23.0, 1.24.0, 1.25.0Go toolchain. Use go.1.24 for the latest 1.24.x.
java11.0.22, 17.0.10, 21.0.2Eclipse Temurin JDK. Use java.21 for the latest 21.x.
ruby4.0.1Ruby with Bundler.

Infrastructure as Code

DependencyVersionsNotes
terraform1.5.7, 1.6.6, 1.7.5, 1.8.5, 1.9.2, 1.10.0, 1.11.0, 1.12.0, 1.13.0, 1.14.0HashiCorp Terraform. Use terraform.1.9 for the latest 1.9.x.
tofu1.11.3OpenTofu (open-source Terraform fork).
packer1.14.3HashiCorp Packer for machine image builds.

Cloud & Orchestration

DependencyVersionsNotes
aws2.33.2AWS CLI v2.
kubectl1.29.3, 1.30.2, 1.31.1, 1.32.0, 1.33.0, 1.34.0Kubernetes CLI. Match to your cluster version.
helm3.19.5, 4.0.5Kubernetes package manager. Use helm.3 or helm.4 to pin major version.

Configuration Management

DependencyVersionsNotes
ansible8.7.0Ansible automation platform.

Pre-installed Tools

Every build VM includes the following tools regardless of your dependencies configuration. You do not need to list these.

Docker

Docker is available on all build VMs and started automatically. You can use docker build, docker run, and multi-stage builds without adding any dependency.

Git

Git is pre-installed. Your repository is automatically cloned into the build VM before your commands run.

Standard Build Tools

Amazon Linux 2023 includes a full set of compilation and packaging tools:

ToolDescription
gcc, g++C/C++ compilers
makeGNU Make
tar, zip, unzip, xzArchive utilities
curl, wgetHTTP clients
jqJSON processor
opensslTLS/SSL toolkit
patchFile patching utility
tip

If your build only uses Docker (e.g., DEVRAMPS:DOCKER:BUILD), you don't need to specify any dependencies. The Docker daemon is always available.

Examples

Node.js bundle build

artifacts:
Lambda:
type: DEVRAMPS:BUNDLE:BUILD
dependencies: ["node.22"]
params:
build_commands: |
npm ci --production
zip -r lambda.zip node_modules/ src/ index.js
file_path: /lambda.zip

Multi-tool build

artifacts:
Infrastructure:
type: DEVRAMPS:BUNDLE:BUILD
dependencies: ["terraform.1.9", "python.3.12", "aws"]
params:
build_commands: |
python scripts/generate-tfvars.py
terraform init
terraform plan -out=plan.tfplan
zip -r infra.zip .terraform/ plan.tfplan
file_path: /infra.zip

Helm chart packaging

artifacts:
Charts:
type: DEVRAMPS:BUNDLE:BUILD
dependencies: ["helm.3"]
params:
build_commands: |
helm dependency update charts/my-app
helm package charts/my-app -d output/
zip -r charts.zip output/
file_path: /charts.zip