feat: auto-deploy to dev environment after CI build

- Deploy backend binary + frontend to VPS after successful build
- Fix ISO ownership to use runner's UID instead of hardcoded 1000
- FileBrowser on VPS serves ISOs at :8083

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dorian
2026-04-03 03:06:43 +01:00
parent dd0a01f95c
commit 24e537c027

View File

@@ -69,6 +69,25 @@ jobs:
echo "WARNING: AIUI not found on build server"
fi
- name: Deploy to dev environment
run: |
echo "=== Deploying backend + frontend to dev ==="
# Deploy backend binary
sudo cp core/target/release/archipelago /usr/local/bin/archipelago
sudo chmod +x /usr/local/bin/archipelago
echo "Backend: $(/usr/local/bin/archipelago --version 2>&1 | head -1 || echo 'deployed')"
# Deploy frontend
rm -rf /opt/archipelago/web-ui/*
cp -r web/dist/neode-ui/* /opt/archipelago/web-ui/
echo "Frontend: $(ls /opt/archipelago/web-ui/index.html && echo 'OK')"
# Restart backend
sudo systemctl restart archipelago 2>/dev/null || true
sleep 2
curl -s http://127.0.0.1:5678/health | head -1 || echo "Backend starting..."
echo "=== Dev deploy complete ==="
- name: Build unbundled ISO
run: |
cd image-recipe
@@ -85,7 +104,7 @@ jobs:
DATE=$(date +%Y%m%d-%H%M)
DEST="/var/lib/archipelago/filebrowser/Builds/archipelago-unbundled-${DATE}.iso"
sudo cp "$ISO" "$DEST"
sudo chown 1000:1000 "$DEST"
sudo chown $(id -u):$(id -g) "$DEST"
echo "ISO: archipelago-unbundled-${DATE}.iso"
echo "Size: $(du -h "$DEST" | cut -f1)"
echo "SHA256: $(sha256sum "$DEST" | cut -d' ' -f1)"