[[oktatas:web:deploy:deployer|< Deployer]]
====== Kezdés ======
* **Szerző:** Sallai András
* Copyright (c) Sallai András, 2019
* [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]]
* Web: http://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:
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:
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
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');