Files
factoryOps-v2/.gitea/workflows/deploy.yml
Johngreen ee691be3ce
All checks were successful
Deploy to Production / deploy (push) Successful in 47s
chore: update seed credentials (admin@vexplor.com) and reset DB for re-seed
2026-02-10 12:56:23 +09:00

58 lines
2.2 KiB
YAML

name: Deploy to Production
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
container:
image: catthehacker/ubuntu:act-latest
steps:
- name: Install tools
run: |
rm -f /etc/apt/sources.list.d/github_git-lfs.list || true
apt-get update && apt-get install -y openssh-client rsync git
- name: Checkout code
run: |
git clone https://geonhee:${{ secrets.DEPLOY_TOKEN }}@g.wace.me/geonhee/factoryOps-v2.git /tmp/factoryOps-v2
cd /tmp/factoryOps-v2 && git checkout main
- name: Deploy to server
run: |
mkdir -p ~/.ssh
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/deploy_key
chmod 600 ~/.ssh/deploy_key
rsync -avz --delete \
--exclude '.git' \
--exclude 'node_modules' \
--exclude '__pycache__' \
--exclude '.venv' \
--exclude '.env' \
--exclude '.next' \
--exclude 'planning' \
-e "ssh -o StrictHostKeyChecking=no -i ~/.ssh/deploy_key" \
/tmp/factoryOps-v2/ geonhee@192.168.1.200:~/factoryops-v2/
ssh -o StrictHostKeyChecking=no -i ~/.ssh/deploy_key geonhee@192.168.1.200 << 'ENDSSH'
cd ~/factoryops && ~/.local/bin/docker-compose -f docker-compose.prod.yml down 2>/dev/null || true
cd ~/factoryops-v2
~/.local/bin/docker-compose -f docker-compose.prod.yml down 2>/dev/null || true
docker volume rm factoryops-v2_postgres_data 2>/dev/null || true
~/.local/bin/docker-compose -f docker-compose.prod.yml up -d --build --force-recreate
echo "=== Waiting 15s for containers to stabilize ==="
sleep 15
echo "=== Container Status ==="
~/.local/bin/docker-compose -f docker-compose.prod.yml ps
echo "=== API Container Logs ==="
docker logs factoryops-v2-api --tail 50 2>&1
echo "=== Dashboard Container Logs ==="
docker logs factoryops-v2-dashboard --tail 20 2>&1
echo "FactoryOps v2 deployed at $(date)"
ENDSSH
rm -f ~/.ssh/deploy_key