Files
BaraBingo/.gitea/workflows/deploy.yml
SlavaVlad b34a009eb0
All checks were successful
Deploy / build-and-deploy (push) Successful in 1m48s
fix: create data dir with 777 perms + handle in code
2026-06-14 21:55:30 +03:00

40 lines
1.2 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'
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 up -d && rm -f barabingo.tar.gz && docker image prune -f'