Tartalomjegyzék
Kezdés
- Szerző: Sallai András
- Copyright © Sallai András, 2019
- Web: https://szit.hu
Beszerzés
Letöltjük a deployer.phar állományt, majd áthelyezzük egy olyan helyre, ahol útvonalban lesz, dep néven; végül futtatási jogot adunk rá.
curl -LO https://deployer.org/deployer.phar mv deployer.phar /usr/local/bin/dep chmod +x /usr/local/bin/dep
Ezek után használhatjuk a dep parancsot.
A dep parancsot önmagában vagy a dep list alparanccsal kiírja milyen lehetőségeink vannak.
Webhely:
- https://deployer.org/ (2022)
Windows
choco install deployer
Útvonalba kell tenni:
c:\Users\user\AppData\Roaming\Composer\vendor\bin
Kapunk egy dep nevű parancsot:
dep --version
Helló Világ
Készítenünk kell egy Deployer névteret és hivatkozni kell a recipe/common.php-re. Kezdetnek készítsünk egy feladatot teszt néven:
Készítsünk egy projekt könyvtárat, majd lépjünk be. A projekt gyökérkönyvtárában hozzuk létre a deploy.php állományt a következő tartalommal:
- deploy.php
<?php namespace Deployer; require 'recipe/common.php'; task('teszt', function() { writeln('Helló Világ'); });
Futtassuk:
dep teszt
A futtatás eredménye:
➤ Executing task test Helló Világ ✔ Ok
Az így létrehozott deploy.php állományt nevezzük receptnek.
Aktuális könyvtár
Készítsünk egy újabb feladatot, amely az aktuális könyvtár útvonalát kiírja. Fejlesszük tovább a deploy.php fájlt:
- deploy.php
namespace Deployer; require 'recipe/common.php'; task('teszt', function() { writeln('Helló Világ'); }); task('pwd', function() { $res = run('pwd'); writeln("Az aktuális könyvtár: $res"); });
Futtassuk a feladatot:
dep pwd
A futtatás eredménye:
➤ Executing task pwd Aktuális könyvtár: /home/janos/Projektek/projekt01 ✔ Ok
A pwd parancs a helyi gépen fut le.
Kezdő recept
A dep init parancs létrehoz egy általános kezdő recptet:
dep init
- deploy.php
<?php namespace Deployer; require 'recipe/common.php'; // Project name set('application', 'my_project'); // Project repository set('repository', ''); // [Optional] Allocate tty for git clone. Default value is false. set('git_tty', true); // Shared files/dirs between deploys set('shared_files', []); set('shared_dirs', []); // Writable dirs by web server set('writable_dirs', []); // Hosts host('project.com') ->set('deploy_path', '~/{{application}}'); // Tasks desc('Deploy your project'); task('deploy', [ 'deploy:info', 'deploy:prepare', 'deploy:lock', 'deploy:release', 'deploy:update_code', 'deploy:shared', 'deploy:writable', 'deploy:vendors', 'deploy:clear_paths', 'deploy:symlink', 'deploy:unlock', 'cleanup', 'success' ]); // [Optional] If deploy fails automatically unlock. after('deploy:failed', 'deploy:unlock');