trilobit-gmbh / contao-refresh-bundle
Contao 4 refresh (e.g. dev -> stage, stage -> live, ...) bundle
Installs: 919
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 1
Open Issues: 0
Type:contao-bundle
Requires
- php: ^7.4 || ^8.0
- ext-json: *
- contao/core-bundle: ^4.13 || ^5.0
Requires (Dev)
- contao/manager-plugin: ^2.11
- friendsofphp/php-cs-fixer: ^3.0
Conflicts
- contao/manager-plugin: <2.0 || >=3.0
README
This is a bundle for [Contao CMS] (version 4.13.x, 5.3.x).
Dies ist ein Bundle für [Contao CMS] (Version 4.13.x, 5.3.x).
Installation
Install the extension via composer: trilobit-gmbh/contao-refresh-bundle.
Kompatibilität / Getestet / Compatibility / Tested
- Contao version ~4.13
- Contao version ~5.3
Configuration
You can define the following configuration parameters via your config.yml
file:
# example trilobit_refresh: config: php: "php8.2 -d memory_limit=3G" symfony: "##php## ./vendor/bin/contao-console" contao-manager: "contao-manager.phar.php" composer: "##contao-manager## composer" environments: dev2stage: name: "EXAMPLE - dev 2 stage" dumps_path: "%kernel.project_dir%/system/tmp" exclude: database: tables: - "tl_crawl_queue" - "tl_cron_job" - "tl_log" - "tl_opt_in" - "tl_opt_in_related" - "tl_remember_me" - "tl_search" - "tl_search_index" - "tl_trusted_device" - "tl_undo" - "tl_user" - "tl_user_group" - "tl_version" source: path: "%kernel.project_dir%" db_host: "localhost" db_name: "contao_5_testing_53" db_user: "www" db_password: "www" target: path: "%kernel.project_dir%/../stage" db_host: "localhost" db_name: "contao_5_testing_53_refresh_stage" db_user: "www" db_password: "www" steps: - "clear old dump(s)": "cd ##dumps_path## && find source.sql target.sql -mtime +1 -exec rm {} \\;" - "contao-manager self-update": "cd ##source.path##/public && ##php## ##source.path##/public/##contao-manager## self-update" - "dump source database": "mysqldump --default-character-set=utf8 --add-drop-table ##exclude.database.tables|source.db_name## -h##source.db_host## -u##source.db_user## -p##source.db_password## ##source.db_name## -r##dumps_path##/source.$(date +\"%F\").sql" - "dump target database": "mysqldump --default-character-set=utf8 --add-drop-table ##exclude.database.tables|target.db_name## -h##target.db_host## -u##target.db_user## -p##target.db_password## ##target.db_name## -r##dumps_path##/target.$(date +\"%F\").sql" - "maintenance lock": "cd ##target.path## && ##symfony## contao:maintenance-mode on" - "copy composer": "cd ##source.path## && rsync -avPuz composer.* ##target.path##/" - "copy contao-manager": "cd ##source.path##/public && rsync -avPuz contao-manager.phar.php ##target.path##/public/" - "copy system/config": "cd ##source.path##/system && mkdir -p ##target.path##/system/config && rsync -avPuz config/ ##target.path##/system/config" - "copy templates": "cd ##source.path## && mkdir -p ##target.path##/templates && rsync -avPuz templates/ ##target.path##/templates" - "copy layout": "cd ##source.path## && mkdir -p ##target.path##/layout && rsync -avPuz layout/ ##target.path##/layout" - "copy public/layout": "cd ##source.path##/public && mkdir -p ##target.path##/public/layout && rsync -avPuz layout/ ##target.path##/public/layout" - "copy assets": "cd ##source.path## && mkdir -p ##target.path##/assets && rsync -avPuz assets/ ##target.path##/assets" - "copy files": "cd ##source.path## && mkdir -p ##target.path##/files && rsync -avPuz files/ ##target.path##/files" - "composer install": "cd ##target.path## && ##php## ##target.path##/public/##composer## install" - "push source database": "cd ##dumps_path## && mysql --default-character-set=utf8 -h##target.db_host## -u##target.db_user## -p##target.db_password## ##target.db_name## < source.$(date +\"%F\").sql" - "push target database common updates": "cd ##dumps_path## && mysql --default-character-set=utf8 -h##target.db_host## -u##target.db_user## -p##target.db_password## ##target.db_name## < source.commonupdates.sql" - "cache clear prod": "cd ##target.path##/var/cache && rm -rf prod/" - "cache clear dev": "cd ##target.path##/var/cache && rm -rf dev/" - "cache warmup": "cd ##target.path##/ && ##symfony## cache:warmup" - "maintenance unlock": "cd ##target.path## && ##symfony## contao:maintenance-mode off" stage2prod: name: "EXAMPLE - stage 2 prod" dumps_path: "%kernel.project_dir%/system/tmp" exclude: database: tables: - "tl_crawl_queue" - "tl_cron_job" - "tl_log" - "tl_opt_in" - "tl_opt_in_related" - "tl_remember_me" - "tl_search" - "tl_search_index" - "tl_trusted_device" - "tl_undo" - "tl_user" - "tl_user_group" - "tl_version" source: path: "%kernel.project_dir%" db_host: "localhost" db_name: "contao_5_testing_53_refresh_stage" db_user: "www" db_password: "www" target: path: "%kernel.project_dir%/../prod" db_host: "localhost" db_name: "contao_5_testing_53_refresh_prod" db_user: "www" db_password: "www" steps: - "clear old dump(s)": "cd ##dumps_path## && find source.sql target.sql -mtime +1 -exec rm {} \\;" - "contao-manager self-update": "cd ##source.path##/public && ##php## ##source.path##/public/##contao-manager## self-update" - "dump source database": "mysqldump --default-character-set=utf8 --add-drop-table ##exclude.database.tables|source.db_name## -h##source.db_host## -u##source.db_user## -p##source.db_password## ##source.db_name## -r##dumps_path##/source.$(date +\"%F\").sql" - "dump target database": "mysqldump --default-character-set=utf8 --add-drop-table ##exclude.database.tables|target.db_name## -h##target.db_host## -u##target.db_user## -p##target.db_password## ##target.db_name## -r##dumps_path##/target.$(date +\"%F\").sql" - "maintenance lock": "cd ##target.path## && ##symfony## contao:maintenance-mode on" - "copy composer": "cd ##source.path## && rsync -avPuz composer.* ##target.path##/" - "copy contao-manager": "cd ##source.path##/public && rsync -avPuz contao-manager.phar.php ##target.path##/public/" - "copy system/config": "cd ##source.path##/system && mkdir -p ##target.path##/system/config && rsync -avPuz config/ ##target.path##/system/config" - "copy templates": "cd ##source.path## && mkdir -p ##target.path##/templates && rsync -avPuz templates/ ##target.path##/templates" - "copy layout": "cd ##source.path## && mkdir -p ##target.path##/layout && rsync -avPuz layout/ ##target.path##/layout" - "copy public/layout": "cd ##source.path##/public && mkdir -p ##target.path##/public/layout && rsync -avPuz layout/ ##target.path##/public/layout" - "copy assets": "cd ##source.path## && mkdir -p ##target.path##/assets && rsync -avPuz assets/ ##target.path##/assets" - "copy files": "cd ##source.path## && mkdir -p ##target.path##/files && rsync -avPuz files/ ##target.path##/files" - "composer install": "cd ##target.path## && ##php## ##target.path##/public/##composer## install" - "push source database": "cd ##dumps_path## && mysql --default-character-set=utf8 -h##target.db_host## -u##target.db_user## -p##target.db_password## ##target.db_name## < source.$(date +\"%F\").sql" - "push target database common updates": "cd ##dumps_path## && mysql --default-character-set=utf8 -h##target.db_host## -u##target.db_user## -p##target.db_password## ##target.db_name## < source.commonupdates.sql" - "cache clear prod": "cd ##target.path##/var/cache && rm -rf prod/" - "cache clear dev": "cd ##target.path##/var/cache && rm -rf dev/" - "cache warmup": "cd ##target.path##/ && ##symfony## cache:warmup" - "maintenance unlock": "cd ##target.path## && ##symfony## contao:maintenance-mode off"
example configuration