Files
t-youtube/.gitea/workflows/deploy.yml
T
Gan, Jimmy dcf3c0ef78
Deploy t-youtube / Build & Deploy (push) Failing after 0s
fix CI checkout: use fetch+merge with HTTP fallback
2026-07-09 22:55:57 +08:00

52 lines
1.6 KiB
YAML

name: Deploy t-youtube
on:
push:
branches: [main]
paths:
- 'backend/**'
- 'frontend/**'
- 'Dockerfile'
- '.gitea/workflows/deploy.yml'
workflow_dispatch:
jobs:
build-and-deploy:
name: Build & Deploy
runs-on: nas
steps:
- name: Checkout
run: |
cd /volume1/docker/t-youtube
git fetch --tags origin main 2>&1 || \
git fetch --tags https://gitea:3000/jimmy/t-youtube.git main 2>&1
git merge FETCH_HEAD 2>&1
- name: Build Docker image
run: |
cd /volume1/docker/t-youtube
/volume1/@appstore/ContainerManager/usr/bin/docker build -t t-youtube:latest . 2>&1
- name: Swap container
run: |
D=/volume1/@appstore/ContainerManager/usr/bin
$D/docker stop t-youtube 2>/dev/null || true
$D/docker rm t-youtube 2>/dev/null || true
$D/docker run -d --name t-youtube --restart unless-stopped \
-p 8001:8000 \
--env-file /volume1/docker/t-youtube/.env \
-v /volume1/docker/t-youtube/data:/app/data \
-v /volume1/docker/t-youtube/config:/app/config \
t-youtube:latest 2>&1
- name: Verify
run: |
sleep 3
D=/volume1/@appstore/ContainerManager/usr/bin
STATUS=$($D/docker ps --filter name=t-youtube --format "{{.Status}}")
echo "Container: $STATUS"
if ! echo "$STATUS" | grep -q "Up"; then
echo "Container failed to start"
$D/docker logs t-youtube --tail 20
exit 1
fi