name: Deploy Site on: push: branches: [main] workflow_dispatch: env: PROJECT_NAME: "shooting-word" jobs: deploy: runs-on: host # 👈 Выполняем шаг прямо на VPS steps: - name: Checkout code uses: actions/checkout@v4 - name: Deploy static files run: | # Защита от пустого PROJECT_NAME if [ -z "${{ env.PROJECT_NAME }}" ]; then echo "❌ ОШИБКА: PROJECT_NAME не задан!" exit 1 fi TARGET_DIR="/var/www/sites/${{ env.PROJECT_NAME }}" # Создаем целевую папку mkdir -p "$TARGET_DIR" # Очищаем старое содержимое rm -rf "${TARGET_DIR:?}"/* # Копируем всё из репозитория, пропуская служебные файлы Git и Gitea tar --exclude='./.git*' \ --exclude='./.gitea*' \ --exclude='./*.md' \ --exclude='./LICENSE' \ -cf - . | tar -xf - -C "$TARGET_DIR" echo "✅ Файлы успешно скопированы в $TARGET_DIR"