Incrustar presentación
Descargar como PDF, PPTX































![Tareas
DeployerPHP
➔ Sistema basado en tareas
➔ Estas tareas pueden anidarse:
task('deploy', [
'deploy:prepare',
'deploy:update_code',
'deploy:vendors',
'deploy:symlink',
'cleanup'
]);](https://image.slidesharecdn.com/phpsevilla-deployerphp-160929174511/75/Deployer-PHP-Presentacion-para-PHPSevilla-32-2048.jpg)







![Creación de
Tareas (variables predefinidas)
➔ Definir repositorio
set('repository', 'git@github.com:user/project.git');
➔ Rama repositorio
set('branch','master');
➔ Definir compartidos
set('shared_dirs', ['app/logs']);
set('shared_files', ['app/config/parameters.yml']);](https://image.slidesharecdn.com/phpsevilla-deployerphp-160929174511/75/Deployer-PHP-Presentacion-para-PHPSevilla-40-2048.jpg)
![Creación de
Tareas (variables predefinidas)
➔ Definir repositorio
set('repository', 'git@github.com:user/project.git');
➔ Rama repositorio
set('branch','master');
➔ Definir compartidos
set('shared_dirs', ['app/logs']);
set('shared_files', ['app/config/parameters.yml']);
➔ Permisos de escritura
set('writable_dirs', ['app/cache', 'app/logs']);
set('http_user', 'user');](https://image.slidesharecdn.com/phpsevilla-deployerphp-160929174511/75/Deployer-PHP-Presentacion-para-PHPSevilla-41-2048.jpg)
![Creación de
Tareas (variables predefinidas)
➔ Copiar directorios
set('copy_dirs', ['vendor']);
before('deploy:vendors', 'deploy:copy_dirs');](https://image.slidesharecdn.com/phpsevilla-deployerphp-160929174511/75/Deployer-PHP-Presentacion-para-PHPSevilla-42-2048.jpg)
![Creación de
Tareas (variables predefinidas)
➔ Copiar directorios
set('copy_dirs', ['vendor']);
before('deploy:vendors', 'deploy:copy_dirs');
➔ Versiones a mantener
set('keep_releases', 5);](https://image.slidesharecdn.com/phpsevilla-deployerphp-160929174511/75/Deployer-PHP-Presentacion-para-PHPSevilla-43-2048.jpg)
![Creación de
Tareas (variables predefinidas)
➔ Copiar directorios
set('copy_dirs', ['vendor']);
before('deploy:vendors', 'deploy:copy_dirs');
➔ Versiones a mantener
set('keep_releases', 5);
➔ Definir ruta composer
set('composer_command', '/bin/composer.phar');](https://image.slidesharecdn.com/phpsevilla-deployerphp-160929174511/75/Deployer-PHP-Presentacion-para-PHPSevilla-44-2048.jpg)








![Creación de
Tareas (funciones)
➔ Escribir en consola
write($message)
<info>...</info>
<comment></comment>
<error></error>
➔ Escribir en una nueva línea
writeln($message)
➔ Interacción con usuario
ask($message, $default)
askConfirmation($message[,$default = false])
askHiddenResponse(string $message)](https://image.slidesharecdn.com/phpsevilla-deployerphp-160929174511/75/Deployer-PHP-Presentacion-para-PHPSevilla-53-2048.jpg)
![Creación de
Tareas (funciones)
➔ Escribir en consola
write($message)
<info>...</info>
<comment></comment>
<error></error>
➔ Escribir en una nueva línea
writeln($message)
➔ Interacción con usuario
ask($message, $default)
askConfirmation($message[,$default = false])
askHiddenResponse(string $message)
set('upload_parameters',
askConfirmation('¿Subir el parameters?'));](https://image.slidesharecdn.com/phpsevilla-deployerphp-160929174511/75/Deployer-PHP-Presentacion-para-PHPSevilla-54-2048.jpg)











![Recipes
Symfony
➔ Definir assets
set('assets', ['web/css','web/images','web/js']);](https://image.slidesharecdn.com/phpsevilla-deployerphp-160929174511/75/Deployer-PHP-Presentacion-para-PHPSevilla-66-2048.jpg)
![Recipes
Symfony
➔ Definir assets
set('assets', ['web/css','web/images','web/js']);
➔ Definir carpetas var y bin
set('bin_dir', 'app'); //Symfony2
set('var_dir', 'app'); // Symfony2
set('bin_dir', 'bin'); //Symfony3
set('var_dir', 'var'); // Symfony3](https://image.slidesharecdn.com/phpsevilla-deployerphp-160929174511/75/Deployer-PHP-Presentacion-para-PHPSevilla-67-2048.jpg)
![Recipes
Symfony
➔ Definir assets
set('assets', ['web/css','web/images','web/js']);
➔ Definir carpetas var y bin
set('bin_dir', 'app'); //Symfony2
set('var_dir', 'app'); // Symfony2
set('bin_dir', 'bin'); //Symfony3
set('var_dir', 'var'); // Symfony3
➔ Compilar assets
set('dump_assets', true); //Symfony2](https://image.slidesharecdn.com/phpsevilla-deployerphp-160929174511/75/Deployer-PHP-Presentacion-para-PHPSevilla-68-2048.jpg)

![Recipes
Symfony
➔ Variables de entorno
env('env_vars, 'SYMFONY_ENV=prod');
env('env, 'prod');
➔ Tarea principal
task('deploy', [
'deploy:prepare',
'deploy:release,
'deploy:update_code',
'deploy:create_cache_dir,
'deploy:shared,
'deploy:assets,
'deploy:vendors',
'deploy:assetic:dump,
'deploy:cache:warmup,
'deploy:writable',
'deploy:symlink',
'cleanup'
]);](https://image.slidesharecdn.com/phpsevilla-deployerphp-160929174511/75/Deployer-PHP-Presentacion-para-PHPSevilla-70-2048.jpg)



Este documento describe el uso de DeployerPHP para automatizar el despliegue de aplicaciones Symfony. DeployerPHP es una herramienta que permite configurar tareas para actualizar el código, instalar dependencias, compilar assets y más, de forma atómica y con rollbacks. Incluye recetas predefinidas para Symfony que automatizan tareas comunes como instalar vendors, limpiar caché y enlazar symlinks. El documento explica cómo configurar servidores, crear tareas personalizadas y utilizar funciones y variables para personalizar el pro































![Tareas
DeployerPHP
➔ Sistema basado en tareas
➔ Estas tareas pueden anidarse:
task('deploy', [
'deploy:prepare',
'deploy:update_code',
'deploy:vendors',
'deploy:symlink',
'cleanup'
]);](https://image.slidesharecdn.com/phpsevilla-deployerphp-160929174511/75/Deployer-PHP-Presentacion-para-PHPSevilla-32-2048.jpg)







![Creación de
Tareas (variables predefinidas)
➔ Definir repositorio
set('repository', 'git@github.com:user/project.git');
➔ Rama repositorio
set('branch','master');
➔ Definir compartidos
set('shared_dirs', ['app/logs']);
set('shared_files', ['app/config/parameters.yml']);](https://image.slidesharecdn.com/phpsevilla-deployerphp-160929174511/75/Deployer-PHP-Presentacion-para-PHPSevilla-40-2048.jpg)
![Creación de
Tareas (variables predefinidas)
➔ Definir repositorio
set('repository', 'git@github.com:user/project.git');
➔ Rama repositorio
set('branch','master');
➔ Definir compartidos
set('shared_dirs', ['app/logs']);
set('shared_files', ['app/config/parameters.yml']);
➔ Permisos de escritura
set('writable_dirs', ['app/cache', 'app/logs']);
set('http_user', 'user');](https://image.slidesharecdn.com/phpsevilla-deployerphp-160929174511/75/Deployer-PHP-Presentacion-para-PHPSevilla-41-2048.jpg)
![Creación de
Tareas (variables predefinidas)
➔ Copiar directorios
set('copy_dirs', ['vendor']);
before('deploy:vendors', 'deploy:copy_dirs');](https://image.slidesharecdn.com/phpsevilla-deployerphp-160929174511/75/Deployer-PHP-Presentacion-para-PHPSevilla-42-2048.jpg)
![Creación de
Tareas (variables predefinidas)
➔ Copiar directorios
set('copy_dirs', ['vendor']);
before('deploy:vendors', 'deploy:copy_dirs');
➔ Versiones a mantener
set('keep_releases', 5);](https://image.slidesharecdn.com/phpsevilla-deployerphp-160929174511/75/Deployer-PHP-Presentacion-para-PHPSevilla-43-2048.jpg)
![Creación de
Tareas (variables predefinidas)
➔ Copiar directorios
set('copy_dirs', ['vendor']);
before('deploy:vendors', 'deploy:copy_dirs');
➔ Versiones a mantener
set('keep_releases', 5);
➔ Definir ruta composer
set('composer_command', '/bin/composer.phar');](https://image.slidesharecdn.com/phpsevilla-deployerphp-160929174511/75/Deployer-PHP-Presentacion-para-PHPSevilla-44-2048.jpg)








![Creación de
Tareas (funciones)
➔ Escribir en consola
write($message)
<info>...</info>
<comment></comment>
<error></error>
➔ Escribir en una nueva línea
writeln($message)
➔ Interacción con usuario
ask($message, $default)
askConfirmation($message[,$default = false])
askHiddenResponse(string $message)](https://image.slidesharecdn.com/phpsevilla-deployerphp-160929174511/75/Deployer-PHP-Presentacion-para-PHPSevilla-53-2048.jpg)
![Creación de
Tareas (funciones)
➔ Escribir en consola
write($message)
<info>...</info>
<comment></comment>
<error></error>
➔ Escribir en una nueva línea
writeln($message)
➔ Interacción con usuario
ask($message, $default)
askConfirmation($message[,$default = false])
askHiddenResponse(string $message)
set('upload_parameters',
askConfirmation('¿Subir el parameters?'));](https://image.slidesharecdn.com/phpsevilla-deployerphp-160929174511/75/Deployer-PHP-Presentacion-para-PHPSevilla-54-2048.jpg)











![Recipes
Symfony
➔ Definir assets
set('assets', ['web/css','web/images','web/js']);](https://image.slidesharecdn.com/phpsevilla-deployerphp-160929174511/75/Deployer-PHP-Presentacion-para-PHPSevilla-66-2048.jpg)
![Recipes
Symfony
➔ Definir assets
set('assets', ['web/css','web/images','web/js']);
➔ Definir carpetas var y bin
set('bin_dir', 'app'); //Symfony2
set('var_dir', 'app'); // Symfony2
set('bin_dir', 'bin'); //Symfony3
set('var_dir', 'var'); // Symfony3](https://image.slidesharecdn.com/phpsevilla-deployerphp-160929174511/75/Deployer-PHP-Presentacion-para-PHPSevilla-67-2048.jpg)
![Recipes
Symfony
➔ Definir assets
set('assets', ['web/css','web/images','web/js']);
➔ Definir carpetas var y bin
set('bin_dir', 'app'); //Symfony2
set('var_dir', 'app'); // Symfony2
set('bin_dir', 'bin'); //Symfony3
set('var_dir', 'var'); // Symfony3
➔ Compilar assets
set('dump_assets', true); //Symfony2](https://image.slidesharecdn.com/phpsevilla-deployerphp-160929174511/75/Deployer-PHP-Presentacion-para-PHPSevilla-68-2048.jpg)

![Recipes
Symfony
➔ Variables de entorno
env('env_vars, 'SYMFONY_ENV=prod');
env('env, 'prod');
➔ Tarea principal
task('deploy', [
'deploy:prepare',
'deploy:release,
'deploy:update_code',
'deploy:create_cache_dir,
'deploy:shared,
'deploy:assets,
'deploy:vendors',
'deploy:assetic:dump,
'deploy:cache:warmup,
'deploy:writable',
'deploy:symlink',
'cleanup'
]);](https://image.slidesharecdn.com/phpsevilla-deployerphp-160929174511/75/Deployer-PHP-Presentacion-para-PHPSevilla-70-2048.jpg)

