Releases
Releases represent deployable versions of your application. Each release is a snapshot of your app at a specific point in time.
Overview
Section titled “Overview”A release is:
- A ZIP file containing your application
- Associated with a specific app
- Immutable once created
- Instantly activatable or rollback-able
Creating a Release
Section titled “Creating a Release”Deploy a new release by uploading a ZIP file:
# Package your applicationzip -r release.zip dist/
# Create and deploy the releasebrdz releases:create release.zipRequirements:
- App context must be set
- File must be a valid ZIP archive
- ZIP must contain your application files
What Happens When You Create a Release
Section titled “What Happens When You Create a Release”- The ZIP file is uploaded to the server
- A new release record is created
- The release is automatically set as the current active release
- Your application is immediately available
Example Workflow
Section titled “Example Workflow”# Build your applicationnpm run build
# Package the build outputcd distzip -r ../release.zip .cd ..
# Deploybrdz releases:create release.zipListing Releases
Section titled “Listing Releases”View all releases for your current app:
brdz releases:listOutput example:
ID Status Created At50 active 2025-01-18 15:30:0049 inactive 2025-01-18 14:20:0048 inactive 2025-01-17 16:45:0047 inactive 2025-01-17 10:15:00The most recent release with active status is currently deployed.
Rolling Back
Section titled “Rolling Back”Rollback to a previous release instantly:
# List releases to find the IDbrdz releases:list
# Rollback to a specific releasebrdz releases:rollback 47What happens during rollback:
- The specified release becomes the current active release
- The previous active release is marked inactive
- Your application immediately serves the rolled-back version
- No downtime occurs during the switch
Release Status
Section titled “Release Status”Releases have two statuses:
- active - Currently deployed and serving traffic
- inactive - Previously deployed, available for rollback
Only one release per app can be active at a time.
ZIP File Requirements
Section titled “ZIP File Requirements”Your ZIP file should:
- Contain a valid application structure
- Include an
index.htmlfor static sites - Be properly organized (files at root or in subdirectories)
- Not exceed size limits
- Not contain path traversal attempts
Valid ZIP Structure Examples
Section titled “Valid ZIP Structure Examples”Static Website:
release.zip├── index.html├── styles.css├── script.js└── assets/ └── logo.pngReact/Vue Build:
release.zip├── index.html├── assets/│ ├── index-abc123.js│ └── index-def456.css└── favicon.icoDeployment Strategies
Section titled “Deployment Strategies”Continuous Deployment
Section titled “Continuous Deployment”# In your CI/CD pipelinenpm run buildzip -r release.zip dist/brdz releases:create release.zipBlue-Green Deployment
Section titled “Blue-Green Deployment”# Deploy new versionbrdz releases:create new-version.zip
# Test the new version...
# If issues found, rollback immediatelybrdz releases:rollback <previous-id>Staged Rollout
Section titled “Staged Rollout”# Deploy to staging app firstbrdz ctx:use # Select staging appbrdz releases:create release.zip
# Test in staging...
# Deploy to productionbrdz ctx:use # Select production appbrdz releases:create release.zipBest Practices
Section titled “Best Practices”- Version your releases - Include version numbers in your builds
- Test before production - Use staging environments
- Keep release history - Don’t delete old releases immediately
- Tag releases in git - Match releases to git commits
- Monitor after deployment - Watch for errors after creating releases
- Quick rollback - Be ready to rollback if issues arise
- Document changes - Keep changelogs for each release
Release Retention
Section titled “Release Retention”- All releases are retained indefinitely
- You can rollback to any previous release at any time
- Consider the storage implications of keeping many large releases
Troubleshooting
Section titled “Troubleshooting”Upload Failed
Section titled “Upload Failed”If release upload fails:
- Check your network connection
- Verify the ZIP file is valid:
unzip -t release.zip - Ensure the file isn’t corrupted
- Check file size limits
Release Not Serving
Section titled “Release Not Serving”If your release isn’t serving correctly:
- Verify the ZIP structure is correct
- Check that
index.htmlexists for static sites - Review application logs if available
- Try rolling back and redeploying
Rollback Not Working
Section titled “Rollback Not Working”If rollback fails:
- Verify the release ID exists:
brdz releases:list - Check you have the correct app context
- Ensure you have permission to manage the app
Commands Reference
Section titled “Commands Reference”releases:create <file>
Section titled “releases:create <file>”Create and deploy a new release.
Requirements:
- App context must be set
Arguments:
file- Path to ZIP file (required)
Example:
brdz releases:create ./dist.zipreleases:list
Section titled “releases:list”List all releases for the current app.
Requirements:
- App context must be set
Example:
brdz releases:listreleases:rollback <id>
Section titled “releases:rollback <id>”Rollback to a previous release.
Requirements:
- App context must be set
Arguments:
id- Release ID to rollback to (required)
Example:
brdz releases:rollback 47Related Topics
Section titled “Related Topics”- Apps - Managing apps that contain releases
- Core Concepts: Releases - Understanding release architecture
- Rollbacks Guide - Detailed rollback strategies