https://deployer.org/docs/getting-started.html
curl -LO https://deployer.org/deployer.phar mv deployer.phar /usr/local/bin/dep chmod +x /usr/local/bin/dep
otras opciones
https://deployer.org/docs/installation.html
cd myproyecto dep init
Es importante revisar que estemos llamando al recipe de Laravel.
require 'recipe/laravel.php';
Recordemos cambiar el nombre de nuestra aplicación y confirmar que nuestro repositorio git es el correcto.
// Project name
set('application', 'meetup');
// Project repository
set('repository', 'git@github.com:victoryoalli/meetup-deployer.git');
Agregar las sentencias de ssh_type y ssh_multiplexing para asegurar nuestra conexión vía ssh
// [Optional] Allocate tty for git clone. Default value is false.
set('git_tty', true);
set('ssh_type', 'native');
set('ssh_multiplexing', true);
Configuramos el host que vamos a actualizar y asignamos el usuario con el que nos conectaremos.
// Hosts
host('meetup.vientodigital.dev')
->user('meetup')
->set('deploy_path', '/home/meetup/www')
->set('branch', 'main');
Un ejemplo que yo utilizo para recordarme de compilar y actualizar los assets en modo de producción.
// Tasks
task('ask', function () {
if (!askConfirmation('Did you commit and compile your assets for production?')) {
die('Ok, do that first then');
}
});
before('deploy', 'ask');
Este es un ejemplo para ejecutar un comando al terminar.
task('php:reload', function () {
run('sudo service php7.4-fpm reload');
});
after('deploy:unlock', 'php:reload');
dep deploy