mirror of
https://github.com/johndoe6345789/docker-swarm-termina.git
synced 2026-04-24 13:45:01 +00:00
- Created GitHub Actions workflow for automated release packaging
- Triggers on git tags (v*) or manual workflow dispatch
- Builds uncompressed .tar files for CapRover (as required)
- Creates checksums and deployment instructions
- Automatically publishes to GitHub Releases
- Added release build script (create-caprover-releases.sh)
- Generates backend-caprover-{version}.tar (uncompressed)
- Generates frontend-caprover-{version}.tar (uncompressed)
- Creates documentation package (compressed for convenience)
- Generates SHA256 checksums for verification
- Created QUICKSTART.md for rapid deployment guide
- Option 1: Pre-built releases (fastest)
- Option 2: Deploy from source (latest changes)
- Verification steps and troubleshooting
- Updated documentation for CapRover tar format
- CapRover requires uncompressed .tar files (not .tar.gz)
- Updated all references in README, QUICKSTART, and releases/README
- Added clear notes about file format requirements
- Updated .gitignore to exclude release artifacts but keep README
- Updated main README with CapRover deployment section
This enables automated release creation on tag push and provides
easy deployment packages for CapRover users.
https://claude.ai/code/session_01NfGGGQ9Zn6ue7PRZpAoB2N
74 lines
2.1 KiB
Bash
Executable File
74 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
|
# Script to create CapRover deployment tar files for releases
|
|
|
|
set -e
|
|
|
|
echo "Creating CapRover deployment packages..."
|
|
|
|
# Create releases directory if it doesn't exist
|
|
mkdir -p releases
|
|
|
|
# Get version from git or use timestamp
|
|
VERSION=$(git describe --tags --always 2>/dev/null || date +%Y%m%d-%H%M%S)
|
|
|
|
# Backend tar file (CapRover requires uncompressed tar)
|
|
echo "Creating backend package..."
|
|
cd backend
|
|
tar -cf "../releases/backend-caprover-${VERSION}.tar" \
|
|
--exclude='__pycache__' \
|
|
--exclude='*.pyc' \
|
|
--exclude='.env' \
|
|
--exclude='venv' \
|
|
--exclude='.git' \
|
|
.
|
|
cd ..
|
|
|
|
echo "✓ Created: releases/backend-caprover-${VERSION}.tar"
|
|
|
|
# Frontend tar file (CapRover requires uncompressed tar)
|
|
echo "Creating frontend package..."
|
|
cd frontend
|
|
tar -cf "../releases/frontend-caprover-${VERSION}.tar" \
|
|
--exclude='node_modules' \
|
|
--exclude='.next' \
|
|
--exclude='.env' \
|
|
--exclude='.env.local' \
|
|
--exclude='.git' \
|
|
.
|
|
cd ..
|
|
|
|
echo "✓ Created: releases/frontend-caprover-${VERSION}.tar"
|
|
|
|
# Create a compressed documentation package (for download convenience)
|
|
echo "Creating documentation package..."
|
|
tar -czf "releases/documentation-${VERSION}.tar.gz" \
|
|
CAPROVER_DEPLOYMENT.md \
|
|
QUICKSTART.md \
|
|
README.md \
|
|
backend/README.md \
|
|
frontend/README.md 2>/dev/null || true
|
|
|
|
echo "✓ Created: releases/documentation-${VERSION}.tar.gz"
|
|
|
|
# Create checksums
|
|
echo "Creating checksums..."
|
|
cd releases
|
|
sha256sum backend-caprover-${VERSION}.tar frontend-caprover-${VERSION}.tar documentation-${VERSION}.tar.gz > "checksums-${VERSION}.txt"
|
|
cd ..
|
|
|
|
echo "✓ Created: releases/checksums-${VERSION}.txt"
|
|
|
|
echo ""
|
|
echo "=== Release Packages Created ==="
|
|
echo "Version: ${VERSION}"
|
|
echo ""
|
|
ls -lh releases/backend-caprover-${VERSION}.tar releases/frontend-caprover-${VERSION}.tar releases/documentation-${VERSION}.tar.gz
|
|
echo ""
|
|
echo "To deploy to CapRover:"
|
|
echo " 1. Upload backend-caprover-${VERSION}.tar to your backend app"
|
|
echo " 2. Upload frontend-caprover-${VERSION}.tar to your frontend app"
|
|
echo ""
|
|
echo "Or use CapRover CLI from the respective directories:"
|
|
echo " cd backend && caprover deploy"
|
|
echo " cd frontend && caprover deploy"
|