Перейти до змісту
−10% на будь-який проєкт за промокодом−10% за промокодом

GitHub Actions CI/CD для PHP — автодеплой на VPS за 30 хвилин

Зміст
  1. Структура workflow
  2. Повний workflow
  3. Налаштування Secrets
  4. Telegram нотифікація
Опубліковано
Час читання
~1 хв
Переглядів
118
Оцінка читачів
Відгуків: 7
Автор
Євген Фостенко
Senior Backend & DevOps інженер
Поділитись
GitHub Actions CI/CD для PHP — автодеплой на VPS за 30 хвилин Стаття
Потрібна допомога з сайтом?
Опишіть задачу в Telegram — оціню й підкажу, з чого почати. Відповідь протягом доби.
Написати в Telegram
Безкоштовна консультація та оцінка. Відповідаю швидко.

GitHub Actions дозволяє автоматизувати тестування та деплой при кожному push. Ось готовий workflow для PHP проекту.

Структура workflow

.github/workflows/deploy.yml

Повний workflow

name: Deploy to Production

on:
  push:
    branches: [main]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: shivammathur/setup-php@v2
        with:
          php-version: '8.3'
          extensions: pdo_mysql, redis, gd
      - run: composer install --no-dev
      - run: ./vendor/bin/phpunit

  deploy:
    needs: test
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Deploy via SSH
        uses: appleboy/ssh-action@v1
        with:
          host: ${{ secrets.SSH_HOST }}
          username: ${{ secrets.SSH_USER }}
          key: ${{ secrets.SSH_PRIVATE_KEY }}
          script: |
            cd /var/www/html
            git pull origin main
            composer install --no-dev --optimize-autoloader
            php artisan cache:clear 2>/dev/null || true

Налаштування Secrets

GitHub repo → Settings → Secrets → New secret:
SSH_HOST, SSH_USER, SSH_PRIVATE_KEY

Telegram нотифікація

- name: Telegram Notification
  uses: appleboy/telegram-action@master
  with:
    to: ${{ secrets.TELEGRAM_CHAT_ID }}
    token: ${{ secrets.TELEGRAM_TOKEN }}
    message: "✅ Deploy successful: ${{ github.sha }}"

Потрібне налаштування CI/CD? Замовте GitHub Actions.

Теги: github actionsci/cdphpдеплойавтоматизація
Потрібна допомога з сайтом?
Опишіть задачу в Telegram — оціню й підкажу, з чого почати. Відповідь протягом доби.
Написати в Telegram
Безкоштовна консультація та оцінка. Відповідаю швидко.

Відгуки читачів

4.0
Написати відгук