Cómo desplegar un proyecto Symfony con Deployer

Desplegar proyectos de Symfony de forma automática con Deployer

Image for post
Image for post

Paso 1. Instalarla

php vendor/bin/dep init

Paso 2. ¿Y qué son las recipes?

require 'recipe/symfony4.php';

Paso 3. Configurando el servidor

Paso 4. Configurando el archivo deploy.php

Cómo especificar el repositorio

set('repository', 'git@github.com:proyecto');

Cómo especificar el servidor donde desplegar

host('user@domain.es')->set('deploy_path', '/var/www');

Cómo especificar el número de releases a mantener en el servidor

set('keep_releases', 1);

Cómo especificar qué ficheros deben compartir todas las releases

add('shared_files', ['file1', 'file2]);

Paso 5. Cómo ejecutar tests antes de cada despliegue

task('tests:run', function () {  runLocally('bin/phpunit');});
before('deploy', 'tests:run');

Paso 6. Cómo leer variables de entorno en el servidor mediate deployer

use Symfony\Component\Dotenv\Dotenv;...task('load:env-vars', function () {  $environment = run('cat {{deploy_path}}/.env.local');  $dotenv = new Dotenv();  $data = $dotenv->parse($environment);  set('env', $data);});... after('tests:run', 'load:env-vars');
after('tests:run', 'load:env-vars');
run('cat {{deploy_path}}/.env.local');

7. Y a despegar!

php vendor/bin/dep deploy

Conclusiones

¿Quieres recibir más artículos como este?

Entre paseo y paseo con Simba desarrollo en Symfony y React

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store