Axil_Accountants/.github/workflows/deploy.yml
Vadym Samoilenko f018a6e703 ci: fix SSH port to 1220, remove sudo (ubuntu in docker group)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-23 18:25:50 +00:00

43 lines
1.2 KiB
YAML

name: Deploy to production
on:
push:
branches:
- main
jobs:
deploy:
name: SSH deploy to VPS
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Deploy via SSH
uses: appleboy/ssh-action@v1.2.0
with:
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USER }}
key: ${{ secrets.SSH_PRIVATE_KEY }}
port: 1220
script_stop: true
script: |
set -euo pipefail
PROJECT_DIR="/opt/03-business/Axil"
COMPOSE_FILE="$PROJECT_DIR/docker-compose.prod.yml"
ENV_FILE="$PROJECT_DIR/.env.production"
echo "▶ Pulling latest code..."
git -C "$PROJECT_DIR" fetch --all
git -C "$PROJECT_DIR" reset --hard origin/main
echo "▶ Building Docker image..."
docker compose -f "$COMPOSE_FILE" --env-file "$ENV_FILE" build --pull
echo "▶ Restarting containers..."
docker compose -f "$COMPOSE_FILE" --env-file "$ENV_FILE" up -d --remove-orphans
echo "▶ Pruning unused images..."
docker image prune -f
echo "✓ Deploy complete — $(git -C "$PROJECT_DIR" rev-parse --short HEAD)"