Application Management
Initialize projects, manage application versions, and configure version lifecycle using the EB CLI.
When to Use
- Initialize an EB project (
eb init) - List applications
- Manage application versions
- Configure version lifecycle rules
When NOT to Use
- Managing environments → use
environmentskill - Deploying code → use
deployskill - Checking status → use
statusskill
Initialize
eb init
eb init <app-name> --region <region> --platform "<platform>"
List Applications
aws elasticbeanstalk describe-applications \
--query 'Applications[*].[ApplicationName,DateCreated]' --output table
Application Versions
eb appversion # List versions
eb appversion --delete <version-label> # Delete version
Version Lifecycle
eb appversion lifecycle # Configure lifecycle rules
Or via AWS CLI:
aws elasticbeanstalk update-application-resource-lifecycle \
--application-name <app-name> \
--resource-lifecycle-config '{
"VersionLifecycleConfig": {
"MaxCountRule": {"Enabled": true, "MaxCount": 200, "DeleteSourceFromS3": true},
"MaxAgeRule": {"Enabled": true, "MaxAgeInDays": 180, "DeleteSourceFromS3": true}
},
"ServiceRole": "arn:aws:iam::<account>:role/aws-elasticbeanstalk-service-role"
}' --output json
.elasticbeanstalk/config.yml
eb init creates .elasticbeanstalk/config.yml in your project root. This file stores:
- Default application name and region
- Default environment
- Platform and branch settings
# .elasticbeanstalk/config.yml (auto-generated by eb init)
branch-defaults:
main:
environment: my-app-prod
global:
application_name: my-app
default_region: us-east-1
default_platform: Node.js 22
Add .elasticbeanstalk/ to .gitignore if it contains environment-specific settings, or commit it for shared CI/CD workflows.
Composability
- Create environment: Use
environmentskill - Deploy code: Use
deployskill - Platform updates: Use
maintenanceskill
Additional Resources
Converted and distributed by TomeVault — claim your Tome and manage your conversions.