Home 11 de Marzo, 2021 Deployer 101, haciendo deploy de forma automática.

Deployer 101, haciendo deploy de forma automática.

Deployer


Documentación

https://deployer.org/docs/getting-started.html


Instalación

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


Inicialización de proyecto

cd myproyecto
dep init


Archivo de configuración deploy.php

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');


Haciendo deploy

dep deploy
Sin Comentarios Aún. Se el primero!