46 lines
1.4 KiB
YAML
46 lines
1.4 KiB
YAML
name: Deploy Site
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
workflow_dispatch:
|
|
|
|
env:
|
|
PROJECT_NAME: "shooting-word"
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Debug and Deploy
|
|
run: |
|
|
if [ -z "${{ env.PROJECT_NAME }}" ]; then
|
|
echo "❌ ОШИБКА: PROJECT_NAME пустой"
|
|
exit 1
|
|
fi
|
|
|
|
TARGET_DIR="/var/www/sites/${{ env.PROJECT_NAME }}"
|
|
|
|
echo "=== 1. Проверяем, существует ли целевая папка внутри контейнера ==="
|
|
mkdir -p "$TARGET_DIR"
|
|
ls -la "$TARGET_DIR"
|
|
|
|
echo "=== 2. Создаем тестовый файл ==="
|
|
echo "TEST_FILE_CONTENT" > "$TARGET_DIR/test_debug.txt"
|
|
|
|
echo "=== 3. Проверяем точку монтирования (mounts) ==="
|
|
df -h "$TARGET_DIR"
|
|
mount | grep "/var/www/sites" || echo "⚠️ ВНИМАНИЕ: Папка /var/www/sites НЕ смонтирована как отдельный волюм!"
|
|
|
|
echo "=== 4. Копируем файлы ==="
|
|
sudo apt-get update && sudo apt-get install -y rsync
|
|
rsync -av --delete \
|
|
--exclude='.git*' \
|
|
--exclude='.gitea*' \
|
|
--exclude='*.md' \
|
|
--exclude='LICENSE' \
|
|
./ "$TARGET_DIR/"
|