Skip to content

Releases

Releases represent deployable versions of your application. Each release is a snapshot of your app at a specific point in time.

A release is:

  • A ZIP file containing your application
  • Associated with a specific app
  • Immutable once created
  • Instantly activatable or rollback-able

Deploy a new release by uploading a ZIP file:

Terminal window
# Package your application
zip -r release.zip dist/
# Create and deploy the release
brdz releases:create release.zip

Requirements:

  • App context must be set
  • File must be a valid ZIP archive
  • ZIP must contain your application files
  1. The ZIP file is uploaded to the server
  2. A new release record is created
  3. The release is automatically set as the current active release
  4. Your application is immediately available
Terminal window
# Build your application
npm run build
# Package the build output
cd dist
zip -r ../release.zip .
cd ..
# Deploy
brdz releases:create release.zip

View all releases for your current app:

Terminal window
brdz releases:list

Output example:

ID Status Created At
50 active 2025-01-18 15:30:00
49 inactive 2025-01-18 14:20:00
48 inactive 2025-01-17 16:45:00
47 inactive 2025-01-17 10:15:00

The most recent release with active status is currently deployed.

Rollback to a previous release instantly:

Terminal window
# List releases to find the ID
brdz releases:list
# Rollback to a specific release
brdz releases:rollback 47

What happens during rollback:

  1. The specified release becomes the current active release
  2. The previous active release is marked inactive
  3. Your application immediately serves the rolled-back version
  4. No downtime occurs during the switch

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.

Your ZIP file should:

  • Contain a valid application structure
  • Include an index.html for static sites
  • Be properly organized (files at root or in subdirectories)
  • Not exceed size limits
  • Not contain path traversal attempts

Static Website:

release.zip
├── index.html
├── styles.css
├── script.js
└── assets/
└── logo.png

React/Vue Build:

release.zip
├── index.html
├── assets/
│ ├── index-abc123.js
│ └── index-def456.css
└── favicon.ico
Terminal window
# In your CI/CD pipeline
npm run build
zip -r release.zip dist/
brdz releases:create release.zip
Terminal window
# Deploy new version
brdz releases:create new-version.zip
# Test the new version...
# If issues found, rollback immediately
brdz releases:rollback <previous-id>
Terminal window
# Deploy to staging app first
brdz ctx:use # Select staging app
brdz releases:create release.zip
# Test in staging...
# Deploy to production
brdz ctx:use # Select production app
brdz releases:create release.zip
  1. Version your releases - Include version numbers in your builds
  2. Test before production - Use staging environments
  3. Keep release history - Don’t delete old releases immediately
  4. Tag releases in git - Match releases to git commits
  5. Monitor after deployment - Watch for errors after creating releases
  6. Quick rollback - Be ready to rollback if issues arise
  7. Document changes - Keep changelogs for each release
  • All releases are retained indefinitely
  • You can rollback to any previous release at any time
  • Consider the storage implications of keeping many large releases

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

If your release isn’t serving correctly:

  • Verify the ZIP structure is correct
  • Check that index.html exists for static sites
  • Review application logs if available
  • Try rolling back and redeploying

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

Create and deploy a new release.

Requirements:

  • App context must be set

Arguments:

  • file - Path to ZIP file (required)

Example:

Terminal window
brdz releases:create ./dist.zip

List all releases for the current app.

Requirements:

  • App context must be set

Example:

Terminal window
brdz releases:list

Rollback to a previous release.

Requirements:

  • App context must be set

Arguments:

  • id - Release ID to rollback to (required)

Example:

Terminal window
brdz releases:rollback 47