Files
timelapse-calc/.gitea/workflows/deploy.yml
Tien Ngo 7451795ae8
Some checks failed
Deploy to Private Server / deploy (push) Has been cancelled
fix
2025-12-23 14:05:05 +07:00

62 lines
1.5 KiB
YAML

name: Deploy to Private Server
on:
push:
branches: [ "main" ]
jobs:
deploy:
runs-on: docker
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build
run: npm run build
- name: Verify build output
run: |
if [ ! -d "dist" ]; then
echo "Error: dist directory not found"
exit 1
fi
- name: Deploy to server
run: |
DEPLOY_PATH="/var/www/app/vite-app/timelapse-calc"
BACKUP_PATH="/var/www/app/vite-app/timelapse-calc.backup"
# Create backup if directory exists
if [ -d "$DEPLOY_PATH" ]; then
echo "Creating backup..."
rm -rf "$BACKUP_PATH"
mv "$DEPLOY_PATH" "$BACKUP_PATH"
fi
# Create deployment directory
mkdir -p "$DEPLOY_PATH"
# Copy new build
echo "Deploying new build..."
cp -r dist/* "$DEPLOY_PATH/"
# Verify deployment
if [ $? -eq 0 ]; then
echo "Deployment successful!"
rm -rf "$BACKUP_PATH"
else
echo "Deployment failed! Restoring backup..."
rm -rf "$DEPLOY_PATH"
mv "$BACKUP_PATH" "$DEPLOY_PATH"
exit 1
fi