Git деплой на хостинг и VPS: автоматизация через hooks

Хостинг и cPanel · 15.03.2026
Git деплой на хостинг и VPS: автоматизация через hooks

Вместо ручного FTP при каждом изменении — настройте git push для автоматического деплоя. Занимает 15 минут, экономит часы работы.

Деплой на VPS через Git bare repo

# На VPS: создать bare репозиторий
mkdir -p /var/repo/mysite.git
cd /var/repo/mysite.git
git init --bare

# Создать хук post-receive
nano hooks/post-receive
#!/bin/bash
GIT_WORK_TREE=/var/www/mysite git checkout -f main
echo "Deployed to /var/www/mysite"
chmod +x hooks/post-receive
# На локальном компьютере:
git remote add production user@server-ip:/var/repo/mysite.git
git push production main

Деплой на cPanel хостинг через Git

cPanel → Файлы → Git™ Version Control:

  1. Create → укажите путь к репозиторию (public_html)
  2. Укажите URL GitHub/GitLab репозитория
  3. Нажмите Update from Remote для ручного деплоя

GitHub Actions: полный автодеплой

# .github/workflows/deploy.yml
name: Deploy
on:
  push:
    branches: [main]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Deploy via SSH
        uses: appleboy/ssh-action@master
        with:
          host: ${{ secrets.SERVER_IP }}
          username: ${{ secrets.SERVER_USER }}
          key: ${{ secrets.SSH_PRIVATE_KEY }}
          script: |
            cd /var/www/mysite
            git pull origin main
            composer install --no-dev
            php artisan migrate --force
✅ Храните SSH-ключ, IP и пароли в GitHub Secrets (Settings → Secrets → Actions). Никогда не коммитьте .env файлы.
← Назад в базу знаний Задать вопрос поддержке