Deploying with AWS CodeBuild
Fully managed AWS CI service with pay-per-use pricing and VPC support.
CI/CDIntermediate
Why
CodeBuild integrates natively with CodePipeline, CodeCommit, and IAM with no infrastructure to manage. DORA's 2024 State of DevOps report shows elite teams deploy 973x more frequently than low performers.
CI/CD pipelines with automated testing reduce change failure rate to 5-15% versus 40-60% for manual deployments.
When
AWS-centric teams wanting CI without managing Jenkins or GitHub Actions runners. Avoid complex pipeline orchestration for repos with fewer than 5 contributors — a pre-commit hook + GitHub Actions suffices.
Skip self-hosted runners unless you need GPU or VPN access.
How
# buildspec.yml
version: 0.2
phases:
install:
runtime-versions:
nodejs: 20
commands:
- npm ci
build:
commands:
- npm run build
- npm test
post_build:
commands:
- aws ecr get-login-password | docker login --username AWS --password-stdin $ECR_URI
- docker build -t myapp .
- docker tag myapp $ECR_URI/myapp:$CODEBUILD_BUILD_NUMBER
- docker push $ECR_URI/myapp:$CODEBUILD_BUILD_NUMBER
artifacts:
files:
- '**/*'
base-directory: dist
4. Verify deployment — curl -I https://your-app.example.com
5. Monitor logs — check for errors in first 5 minutes
6. Rollback if needed — revert to previous version
Example
# CodeBuild with VPC for private resources
{
"vpcConfig": {
"vpcId": "vpc-xxx",
"subnets": ["subnet-xxx"],
"securityGroupIds": ["sg-xxx"]
},
"environment": {
"type": "LINUX_CONTAINER",
"image": "aws/codebuild/standard:7.0"
}
}
Common Problems
- ⚠VPC build can't pull image — check NAT gateway or VPC endpoints
- ⚠IAM denied — add codebuild:BatchGetBuilds to service role
- ⚠Configuration drift between environments — use infrastructure-as-code (Terraform/Pulumi) to keep dev/staging/prod identical
Best Practices
- ✓Use build caching — S3 or LOCAL for dependency reuse
- ✓Use CodeBuild Batch — parallelize independent test suites
- ✓Set up health checks and graceful shutdown — handle SIGTERM to drain in-flight requests before exit