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;
}
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.
Laravel пропонує зручні методи для роботи з датами, які значно спрощують запити до бази даних. Досліджуйте, як ці інтуїтивно зрозумілі функції допомагають створювати чіткі та зрозумілі умови для роботи з часовими даними!
PHP 8.5 обіцяє безліч нових можливостей, таких як оператор Pipe, функції `array_first()` та `array_last()`, а також нове розширення URI. Чи готові ви дізнатися, як ці функції можуть спростити вашу розробку? Читайте далі, щоб дізнатися більше про ці захоплюючі нововведення
Використання Vite для створення фронтенд-ресурсів у вашому додатку Laravel може бути захоплюючим, але іноді ви можете стикнутися з певними помилками. У цій статті ми розглянемо чотири поширені помилки, з якими ви можете зіткнутися, а також підкажемо способи їх усунення, щоб ви могли знову зосередитися на розробці вашого додатку