This package uses different sourcebroker/deployer-* packages to create deployment configurations for TYPO3 projects. It provides a set of default values and commands to simplify the deployment process.
- Default values for typical server environment
- Feature-Branch Deployment with new
base_branchoption - Non-git deployment
- New commands
dep launch&dep sequelace
composer require xima/xima-deployer-extended-typo3
Create a deploy.php file in the root of your project and include the following code:
<?php
namespace Deployer;
require_once './vendor/autoload.php';
new \Xima\XimaDeployerExtendedTypo3\Loader();
function defineTestHost($branchName, $stage)
{
host('example-' . strtolower($branchName))
->setHostname('192.168.0.1')
->setRemoteUser('username')
->set('labels', ['stage' => $stage])
->set('branch', $branchName)
->set('public_urls', ['https://' . strtolower($branchName) . '.example.com'])
->set('deploy_path', '/var/www/html/example_' . strtolower($branchName));
}
// feature branch hosts
for ($i = 1; $i <= 999; $i++) {
$branchName = 'TICKET-' . $i;
defineTestHost($branchName, 'feature');
}
// main host
defineTestHost('main', 'live');Configuration covers typical permission, shared and writable directory settings. See config.php for default values.
To extend a default values array, use the following set command:
set('shared_dirs', [
...get('shared_dirs'),
'newDir',
]);There is a new command db:init which runs right before db:truncate. This command checks for the txBaseBranch option:
vendor/bin/dep deploy-fast example-ticket-001 --options=txBaseBranch:main
If this option is set, the command checks if the current feature instance has been initialized before. In case of an empty database, the db:copy command is triggert to fetch a database copy from the given base branch.
All files become uploaded via rsync and can be configured via upload_paths.