Peter Adelmann, trilobit GmbH
Deployment ist die gezielte Übertragung von Daten, Software oder Software-Updates an alle mit dieser Software arbeitenden Rechner.
Es geht dabei darum, dass alle Rechner mit der gleichen, aktuellen Software arbeiten und so ihre Funktionen erfüllen.
Magallanes ist ein Deployment-Tool, das mit PHP erstellt wurde für PHP-Anwendungen. Es ist einfach zu verwenden und zu verwalten.
- composer require andres-montanez/magallanes
- php bin/mage deploy production
magephp: log_dir: var/logs/mage environments: staging: user: ssh-12345-test host_path: /mein/hosting/var/www/myapp releases: 3 exclude: - .idea - .mage.yml - app/config/parameters.yml - var/cache - var/logs - files hosts: - myapp_SSHKeyBasedAuthentication
tar_create: cfz tar_extract: xfz
pre-deploy: - exec: { cmd: 'mysqldump --tables contao_myapp_local --add-drop-table --set-charset=UTF8 -h192.168.0.42 -uwww -pwww > dump.sql', desc: 'Dumping database' } - exec: { cmd: 'rsync --delete -avzP files/ -e ssh myapp:/mein/hosting/var/www/myapp/shared/files/', desc: 'Sync files ./files' }
on-deploy: - fs/link: { from: '../../../../shared/app/config/parameters.yml', to: 'app/config/parameters.yml' } - fs/link: { from: '../../../shared/var/logs', to: 'var/logs' } - fs/link: { from: '../../shared/files', to: 'files' }
on-release: - exec: { cmd: 'cd ../../ && chmod -R 750 *', desc: 'Update file/folder rights' }
post-release: - exec: { cmd: 'mysql -umyAppDbUser -pmyAppDbPassword -hmysql5.myapp.de contao_myapp_staging < dump.sql', desc: 'Importing database' } - exec: { cmd: 'rm -f dump.sql', desc: 'Removing database dump'} - exec: { cmd: 'php composer.phar run-script post-update-cmd', desc: 'Post update commands' }
post-deploy: - exec: { cmd: 'rm -f dump.sql', desc: 'Removing database dump from local filesystem'} - exec: { cmd: 'xdg-open http://myapp.de/', desc: 'Check host'}
/var/www/app/ - current → 20180315121200 - releases - 20170115121200 - 20180215121200 - 20180315121200 -shared - app - config parameters.yml - files - var - logs
./current
/releases
../shared
Liste der aktuellen Releases
- php bin/mage deploy production
Rollback zu einem bestimmten Release
- php bin/mage releases:list production
- php bin/mage releases:rollback production 20180215121200
Siehe Dokumnetation auf https://www.magephp.com/