Deployer для автоматизації розгортання проєктів у Laravel

5
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 25 грудня, 2025
Деплой вашого PHP-додатку ніколи не був простішим! З Deployer ви зможете автоматизувати рутинні завдання, скоротивши ризик помилок та забезпечивши стабільні деплої в різних середовищах. Чи готові дізнатися більше про потужні можливості цього інструменту? Читайте статтю далі

Deployer — це безкоштовний, відкритий інструмент для розгортання, написаний на PHP Антоном Медведєвим. Він спрощує процес розгортання PHP-додатків на сервері, автоматизуючи типові завдання, такі як завантаження коду, виконання міграцій та очищення кешу. Це знижує ризики людських помилок і забезпечує стабільність розгортання в різних середовищах.

# Особливості

# Встановлення

Встановіть Deployer за допомогою Composer:

composer global require deployer/deployer

Після встановлення перейдіть до каталогу вашого проєкту та виконайте:

dep init

Відповівши на кілька запитань, ви створите файл deploy.php або deploy.yaml для вашого рецепту розгортання, який визначає хости, завдання та залежності від інших рецептів.

Завдання задаються за допомогою функції task. Ви також можете описати завдання за допомогою функції desc.

Рекомендується використовувати ключ ідентифікації або приватний ключ для підключення до сервера. Додайте його до файлу ~/.ssh/config.

Host *
  IdentityFile ~/.ssh/id_rsa

Далі виконайте наступну команду для налаштування вашого сервера:

dep provision

Команда provision запитає про версії PHP, уподобання бази даних та інші вимоги і встановить все необхідне для роботи вашого додатку.

На завершення, ви можете розгорнути ваш проєкт наступною командою:

dep deploy

Після першого успішного розгортання ваша структура папок виглядатиме так:

~/www                          // deploy_path
 |- current -> releases/1      // Символьне посилання на поточний реліз
 |- releases                   // Директорія для всіх релізів
    |- 1                       // Останній реліз
       |- ...
       |- .env -> shared/.env  // Символьне посилання на загальний .env файл
 |- shared                     // Спільні файли між релізами
    |- ...
    |- .env                    // Загальний .env файл
 |- .dep                       // Конфігураційні файли Deployer

Крім того, вам слід налаштувати конфігурацію веб-сервера для обслуговування вашого додатку з каталогу current. Приклад конфігурації для Nginx може виглядати так:

root /home/deployer/www/current/public;
index index.php;
location / {
    try_files $uri $uri/ /index.php?$query_string;
}

# Приклад файлу deploy.php

namespace Deployer;
 
host('my-server')
    ->set('hostname', 'my-server.org')
       ->set('deploy_path', '~/www')
       ->set('remote_user', 'deployer');
 
desc('Визначити моє перше завдання');
task('task_a', function () {
    run('whoami');
});
 
desc('Запустити процес зборки npm');
task('task_b', function () {
    cd('{{release_path}}');
    run('npm install');
    run('npm run prod');
});
 
// Групування завдань
desc('Розгортати ваш проєкт');
task('deploy', [
    'task_a',
    'task_b',
]);

Deployer також можна налаштувати для роботи з GitHub Actions або GitLab CI/CD.

Дізнайтеся більше, прочитавши документацію та переглянувши вихідний код на GitHub.

Популярні

Logomark Logotype

Оптимізація запитів до бази даних за допомогою скорочених методів Laravel

Laravel пропонує зручні методи для роботи з датами, які значно спрощують запити до бази даних. Досліджуйте, як ці інтуїтивно зрозумілі функції допомагають створювати чіткі та зрозумілі умови для роботи з часовими даними!

Logomark Logotype

Що нового в PHP 8.5

PHP 8.5 обіцяє безліч нових можливостей, таких як оператор Pipe, функції `array_first()` та `array_last()`, а також нове розширення URI. Чи готові ви дізнатися, як ці функції можуть спростити вашу розробку? Читайте далі, щоб дізнатися більше про ці захоплюючі нововведення

Logomark Logotype

4 поширені помилки Vite у Laravel

Використання Vite для створення фронтенд-ресурсів у вашому додатку Laravel може бути захоплюючим, але іноді ви можете стикнутися з певними помилками. У цій статті ми розглянемо чотири поширені помилки, з якими ви можете зіткнутися, а також підкажемо способи їх усунення, щоб ви могли знову зосередитися на розробці вашого додатку