Files
BaraBingo/.gitea/workflows/deploy.yml
2026-06-15 01:07:05 +03:00

41 lines
1.3 KiB
YAML

name: Deploy
run-name: Deploy to barabingo
on:
push:
branches: [main, master]
jobs:
build-and-deploy:
runs-on: [ubuntu-22.04]
steps:
- uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Install SSH key
run: |
mkdir -p ~/.ssh
echo "${{ secrets.SSH_PKEY }}" > ~/.ssh/id_ed25519
chmod 600 ~/.ssh/id_ed25519
ssh-keyscan -H barabingo >> ~/.ssh/known_hosts 2>/dev/null
- name: Build Docker image
run: |
docker build -t barabingo:latest .
- name: Save and compress image
run: |
docker save barabingo:latest | gzip > /tmp/barabingo.tar.gz
- name: Copy files to server
run: |
ssh root@barabingo 'mkdir -p /opt/barabingo/data /opt/barabingo/uploads'
ssh root@barabingo 'echo "FREESOUND_API_KEY=${{ secrets.FREESOUND_API_KEY }}" > /opt/barabingo/.env'
scp /tmp/barabingo.tar.gz docker-compose.yml root@barabingo:/opt/barabingo/
- name: Deploy on server
run: |
ssh root@barabingo 'chmod 777 /opt/barabingo/data /opt/barabingo/uploads && cd /opt/barabingo && docker load < barabingo.tar.gz && docker compose down --remove-orphans 2>/dev/null; docker compose --env-file .env up -d && rm -f barabingo.tar.gz && docker image prune -f'