liquidlight / deployer-typo3-ci
TYPO3 deployment via CI
Installs: 12 254
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Requires
Replaces
- liquidlight/deployer: *
README
This package is used by Liquid Light to deploy TYPO3 websites via CI - specifically Gitlab.
It is best used within Gitlab CI as it can utilise several environment variables.
The basis for this is PHP Deployer, however a lot of functionality comes from deployer-extended-typo3 and it's many meta-packages.
Options
There are several settings defined by default within this package for the most common hosts.
Hosts
Set the hostname of the server in the deploy.php
file - the rest of the connection details should be in your .ssh/config
file
host('production') ->set('hostname', 'client.xxx') ;
Existing Hosts
The following hosts have a config file in the deployer/hosts
file with some sensible defaults
- production
- staging
- local
Assets upload
This package will upload html/assets
if there as well as app/*/Resources/Public
, but if you want others that are built then you need to specify them as an array. This can be set globally or on a host by host basis
e.g.
set( 'll_deployer_asset_paths', [ '{{release_path}}/html/_assets' ] );
Clearing OPCache
If the server has OPCache
installed, it will need to be cleared on each deployment to allow PHP and Apache to see the new symlinks.
To do this, you need to declare an array in public_urls
in the deploy file, along with adding the cache:clear_php_http
task for the environment.
- Add
->set('public_urls', ['[URL]'])
to theproduction
host indeploy.php
- Add the
cache:clear_php_http
task for production instances (example below)
on(select('instance=production'), function ($host) { after('cache:clear_php_cli', 'cache:clear_php_http'); });
Pushing the database
Pushing the database to live is prohibited, however there are some cases where this needs to be done.
To allow this, add the following to your local deploy.php
file
set('db_allow_push_live', true);
Common settings
VPS
Configuration
Add the following settings if not set (and adjust if necessary). They can be set globally or chained to the host (e.g. ->set('writable_use_sudo', true)
)
set('writable_use_sudo', true); set('cleanup_use_sudo', true); set('writable_mode', 'chgrp'); set('http_group', 'www-data');
Additional tasks
deploy:vps:writable
Add an extra post-deploy task to reset permissions and reboot PHP if needed
after('typo3:cache:flush:pages', 'deploy:vps:writable');
service:php_fpm_reload
Add PHP reloading to set the correct version as documented in deployer-extended
Upgrading
Between v2 and v3 there are several breaking changes which need ot be addressed in the local deploy.php
file.
- Change
require_once __DIR__ . '/vendor/sourcebroker/deployer-loader/autoload.php';
torequire_once './vendor/autoload.php';
- Change
new \LiquidLight\Deployer\Loader(__DIR__);
tonew \LiquidLight\Deployer\Loader();
- Remove
ll_deployer_environment
- this doesn't add any tasks or configuration any more- If it was previously
cpanel
, nothing else needs doing - If it was
vps
then follow the VPS comon settings steps above
- If it was previously