GitHub Actions: CI/CD деплой на VPS
GitHub Actions автоматично тестує та деплоїть застосунок на VPS при кожному push в репозиторій.
Workflow для PHP проекту
# .github/workflows/deploy.yml
name: Deploy to VPS
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: composer install --no-dev --optimize-autoloader
- name: Deploy via SSH
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.VPS_HOST }}
username: ${{ secrets.VPS_USER }}
key: ${{ secrets.VPS_SSH_KEY }}
script: |
cd /var/www/html && git pull
composer install --no-dev
php artisan migrate --force
php artisan config:cacheZero-downtime: Деплойте в /releases/$(date), переключайте симлінк і перезавантажуйте PHP-FPM.