Deployerhttps://deployer.org/ is a useful and my favorite tool for deploying php applications. I'm using it to deploy TYPO3 and Symfony sites. It comes with a lot of recipies for spefic frameworks which actually never fit my requirements or sometimes even don't work.
First we need to install deployer. I recommend using the composer installation inside our ddev environment. To do so excute the follwing command.
ddev composer require --dev deployer/deployer
Why not directly installing it or using the command outside the ddev? -> be sure to use the right php version and have the same setup for ervyone
You can now run deployer with
ddev vendor/bin/dep init
You t
#!/bin/bash## Description: Run deployer inside the web container in the root of the project## Usage: dep## Example: "dep deploy"## ExecRaw: truephp vendor/bin/dep "$@"
import: - recipe/common.phpconfig: repository: 'git@github.com:its-a-boy/seefischmarkt-website.git' keep_releases: 3 writable_mode: chmod bin/php: php bin/composer: composer shared_dirs: - 'public/fileadmin' - 'public/typo3temp' - 'var' shared_files: - '.env' - 'public/.htaccess' - 'public/typo3conf/AdditionalConfiguration.php' writable_dirs: - 'public/fileadmin' - 'public/typo3temp' clear_paths: - '.git' - '.ddev'hosts: production: branch: main hostname: 185.181.132.40 remote_user: p635072 deploy_path: '~/html/seefischmarkt/production' development: branch: development hostname: 185.181.132.40 remote_user: p635072 deploy_path: '~/html/seefischmarkt/development'tasks: deploy: - deploy:prepare - deploy:vendors - deploy:clear_paths - deploy:publish typo3:language: - run: "cd {{release_path}} && php vendor/bin/typo3 language:update" typo3:cache: - run: "cd {{release_path}} && php vendor/bin/typo3 cache:flush" - run: "cd {{release_path}} && php vendor/bin/typo3 cache:warmup"after: deploy:vendors: typo3:language deploy:language: typo3:cache deploy:failed: deploy:unlock