- Es wird deployer v7 benötigt:
- Ggf. die globale Installation von deployer aktualisieren:
composer global require deployer/deployer:^7.0 - Oder alternativ deployer v7 im Projekt installieren (ggf. in separatem
.tools-Ordner):
composer require deployer/deployer:^7.0 - Oder mit der
deployer.phararbeiten: https://deployer.org/download
- Ggf. die globale Installation von deployer aktualisieren:
- Die Hosts in der
deploy.phpanpassen:host('production') - ->hostname('example.com') + ->setHostname('example.com') - ->set('deploy_path', '/var/www/www.example') + ->setDeployPath('/var/www/www.example') - ->set('user', 'ssh-12345') + ->setRemoteUser('ssh-12345') - ->stage('production') + ->setLabels(['stage' => 'production']) // oder ganz weglassen, wenn der Host-Name dem Stage-Namen entspricht - Die
default_stage-Konfiguration ist entfallen. Stattdessen immer den Host angeben beim Deployen, falls es mehrere Server gibt.
Dazu auch https://deployer.org/docs/7.x/selector beachten. - Die Konfigurationen
yarnundgulpentfernen.
Es wird automatisch erkannt, ob einepackages.jsonexistiert und dann per yarn oder npm installiert. Ebenso werden Webpack und Gulp automatisch erkannt.
Alternativ können die Befehle überset('assets_install', 'yarn install')undset('assets_install', 'yarn build')explizit angepasst werden. - Falls die Yak-Struktur verwendet wird, kann die
deploy.phpvereinfacht werden:<?php // ... -require __DIR__.'/redaxo/src/addons/ydeploy/deploy.php'; +require __DIR__.'/redaxo/src/addons/ydeploy/deploy_yak.php'; // ... -set('base_dir', 'public/'); -set('cache_dir', 'var/cache'); -set('data_dir', 'var/data'); -set('src_dir', 'src'); -set('bin/console', 'bin/console'); add('shared_dirs', [ - 'var/log', ]); add('writable_dirs', [ - 'var/log', ]);
- Neue Command-Namen nutzen:
dep build->dep build localdep local:setup->dep setup local
- Bei Problemen ggf. weitere Anpassungen gemäß Upgrade-Guide von deployer vornehmen.
Viele Anpassungen sind jedoch automatisch in YDeploy 2 enthalten. Insbesondere "Step 2" muss nicht beachtet werden, da sich YDeploy automatisch um die Fortführung der Release-Nummerierung kümmert.