Loading CHANGELOG +5 −0 Original line number Original line Diff line number Diff line CHANGELOG CHANGELOG ========= ========= 3.0.6 ----- - [FEATURE] Introduce --from-cache switch 3.0.5 3.0.5 ----- ----- Loading README.md +3 −2 Original line number Original line Diff line number Diff line Loading @@ -9,7 +9,7 @@ This is requires that your Flow Framework / Neos CMS installation is configured (see https://github.com/Sebobo/Shel.DockerFlow) or your TYPO3 installation is configured to run with `dockertypo3` (see https://github.com/Sebobo/Shel.DockerFlow) or your TYPO3 installation is configured to run with `dockertypo3` package (see https://github.com/visay/DockerTYPO3) and all containers are started before executing the sync. package (see https://github.com/visay/DockerTYPO3) and all containers are started before executing the sync. Ansible is needed on your local installation machine. Ansible is needed on your local machine. ## Installation ## Installation Loading Loading @@ -56,6 +56,7 @@ bin-dir/syncontent -u=demo-014-007 -h=10.10.10.37 -p=/home/user/neosbox - `-t` | `--ansible-tags`: Set the specific task you want run. See available sync tasks section for details - `-t` | `--ansible-tags`: Set the specific task you want run. See available sync tasks section for details - `--remote-php` : Set the path to php on the remote server - `--remote-php` : Set the path to php on the remote server - `--remote-dump` : Set the sql dump location on the remote server. It must contain the absolute path and filename - `--remote-dump` : Set the sql dump location on the remote server. It must contain the absolute path and filename - `--from-cache` : Use local caches of files and database dump from previous run instead of getting fresh from remote - `-v` : Set the verbosity of ansible output. You can also set more verbose by adding more `v` like `-vvvvv` - `-v` : Set the verbosity of ansible output. You can also set more verbose by adding more `v` like `-vvvvv` - `--dry-run` : Force to display the command to execute but won't run them. Useful for debugging when you want - `--dry-run` : Force to display the command to execute but won't run them. Useful for debugging when you want to see the full ansible command and maybe execute them directly for better error hints to see the full ansible command and maybe execute them directly for better error hints Loading Loading @@ -172,7 +173,7 @@ They run in the following order for Flow Framework: - resource:publish - resource:publish - cache:warmup - cache:warmup Add for TYPO3 CMS (`helhum/typo3-console` package is required for this part to run): And for TYPO3 CMS (`helhum/typo3-console` package is required for this part to run): - cache:flush - cache:flush - database:updateschema --schema-update-types=field.add - database:updateschema --schema-update-types=field.add Loading ansible/roles/database/tasks/flow.yml +3 −33 Original line number Original line Diff line number Diff line --- --- # tasks file for flow database # tasks file for flow database - name: Read remote database info (FLOW_CONTEXT=Production) - include: flow_db_dump.yml shell: FLOW_CONTEXT=Production {{ remote_php | default('') }} ./flow configuration:show --type Settings --path TYPO3.Flow.persistence.backendOptions chdir="{{ remote_path }}" when: not from_cache|bool register: db_info - name: Get remote database host shell: echo "{{ db_info.stdout }}" | grep "host:" | cut -d ' ' -f2 register: db_host - name: Get remote database name shell: echo "{{ db_info.stdout }}" | grep "dbname:" | cut -d ' ' -f2 register: db_name - name: Get remote database user shell: echo "{{ db_info.stdout }}" | grep "user:" | cut -d ' ' -f2 register: db_user - name: Get remote database password shell: echo "{{ db_info.stdout }}" | grep "password:" | cut -d ' ' -f2 register: db_pass - name: Dump remote database mysql_db: login_host="{{ db_host.stdout }}" login_user="{{ db_user.stdout }}" login_password="{{ db_pass.stdout }}" name="{{ db_name.stdout }}" state=dump target={{ remote_dump }}/{{ db_name.stdout }}.sql encoding=utf8 collation=utf8_unicode_ci - name: Sync remote database dump to local temp synchronize: mode=pull src="/{{ remote_dump }}/{{ db_name.stdout }}.sql" dest="/tmp/{{ db_name.stdout }}.sql" - name: Check local database name - name: Check local database name local_action: shell FLOW_CONTEXT={{ local_context }} {{ bin_path }}/dockerflow run -T app ./flow configuration:show --type Settings --path TYPO3.Flow.persistence.backendOptions | grep 'dbname' | cut -d ' ' -f2 local_action: shell FLOW_CONTEXT={{ local_context }} {{ bin_path }}/dockerflow run -T app ./flow configuration:show --type Settings --path TYPO3.Flow.persistence.backendOptions | grep 'dbname' | cut -d ' ' -f2 Loading @@ -48,5 +18,5 @@ chdir="{{ local_path }}" chdir="{{ local_path }}" - name: Restore local database from remote dump - name: Restore local database from remote dump local_action: shell {{ bin_path }}/dockerflow run db mysql -h db -u root -proot {{ local_db_name.stdout }} < /tmp/{{ db_name.stdout }}.sql local_action: shell {{ bin_path }}/dockerflow run db mysql -h db -u root -proot {{ local_db_name.stdout }} < /tmp/{{ ssh_user }}/db_dump.sql chdir="{{ local_path }}" chdir="{{ local_path }}" ansible/roles/database/tasks/flow_db_dump.yml 0 → 100644 +35 −0 Original line number Original line Diff line number Diff line --- # tasks file for flow database - name: Read remote database info (FLOW_CONTEXT=Production) shell: FLOW_CONTEXT=Production {{ remote_php | default('') }} ./flow configuration:show --type Settings --path TYPO3.Flow.persistence.backendOptions chdir="{{ remote_path }}" register: db_info - name: Get remote database host shell: echo "{{ db_info.stdout }}" | grep "host:" | cut -d ' ' -f2 register: db_host - name: Get remote database name shell: echo "{{ db_info.stdout }}" | grep "dbname:" | cut -d ' ' -f2 register: db_name - name: Get remote database user shell: echo "{{ db_info.stdout }}" | grep "user:" | cut -d ' ' -f2 register: db_user - name: Get remote database password shell: echo "{{ db_info.stdout }}" | grep "password:" | cut -d ' ' -f2 register: db_pass - name: Dump remote database mysql_db: login_host="{{ db_host.stdout }}" login_user="{{ db_user.stdout }}" login_password="{{ db_pass.stdout }}" name="{{ db_name.stdout }}" state=dump target={{ remote_dump }}/{{ db_name.stdout }}.sql encoding=utf8 collation=utf8_unicode_ci - name: Sync remote database dump to local temp synchronize: mode=pull src="/{{ remote_dump }}/{{ db_name.stdout }}.sql" dest="/tmp/{{ ssh_user }}/db_dump.sql" ansible/roles/database/tasks/typo3.yml +3 −2 Original line number Original line Diff line number Diff line Loading @@ -2,7 +2,8 @@ # tasks file for typo3 database # tasks file for typo3 database - name: Sync remote database dump to local temp - name: Sync remote database dump to local temp synchronize: mode=pull src="{{ remote_dump }}" dest="/tmp/{{ ssh_user }}.sql" synchronize: mode=pull src="{{ remote_dump }}" dest="/tmp/{{ ssh_user }}/db_dump.sql" when: not from_cache|bool - name: Drop local database - name: Drop local database local_action: shell {{ bin_path }}/dockertypo3 run db mysqladmin -h db -u root -proot drop dockertypo3 -f local_action: shell {{ bin_path }}/dockertypo3 run db mysqladmin -h db -u root -proot drop dockertypo3 -f Loading @@ -13,5 +14,5 @@ chdir="{{ local_path }}" chdir="{{ local_path }}" - name: Restore local database from remote dump - name: Restore local database from remote dump local_action: shell {{ bin_path }}/dockertypo3 run db mysql -h db -u root -proot dockertypo3 < /tmp/{{ ssh_user }}.sql local_action: shell {{ bin_path }}/dockertypo3 run db mysql -h db -u root -proot dockertypo3 < /tmp/{{ ssh_user }}/db_dump.sql chdir="{{ local_path }}" chdir="{{ local_path }}" Loading
CHANGELOG +5 −0 Original line number Original line Diff line number Diff line CHANGELOG CHANGELOG ========= ========= 3.0.6 ----- - [FEATURE] Introduce --from-cache switch 3.0.5 3.0.5 ----- ----- Loading
README.md +3 −2 Original line number Original line Diff line number Diff line Loading @@ -9,7 +9,7 @@ This is requires that your Flow Framework / Neos CMS installation is configured (see https://github.com/Sebobo/Shel.DockerFlow) or your TYPO3 installation is configured to run with `dockertypo3` (see https://github.com/Sebobo/Shel.DockerFlow) or your TYPO3 installation is configured to run with `dockertypo3` package (see https://github.com/visay/DockerTYPO3) and all containers are started before executing the sync. package (see https://github.com/visay/DockerTYPO3) and all containers are started before executing the sync. Ansible is needed on your local installation machine. Ansible is needed on your local machine. ## Installation ## Installation Loading Loading @@ -56,6 +56,7 @@ bin-dir/syncontent -u=demo-014-007 -h=10.10.10.37 -p=/home/user/neosbox - `-t` | `--ansible-tags`: Set the specific task you want run. See available sync tasks section for details - `-t` | `--ansible-tags`: Set the specific task you want run. See available sync tasks section for details - `--remote-php` : Set the path to php on the remote server - `--remote-php` : Set the path to php on the remote server - `--remote-dump` : Set the sql dump location on the remote server. It must contain the absolute path and filename - `--remote-dump` : Set the sql dump location on the remote server. It must contain the absolute path and filename - `--from-cache` : Use local caches of files and database dump from previous run instead of getting fresh from remote - `-v` : Set the verbosity of ansible output. You can also set more verbose by adding more `v` like `-vvvvv` - `-v` : Set the verbosity of ansible output. You can also set more verbose by adding more `v` like `-vvvvv` - `--dry-run` : Force to display the command to execute but won't run them. Useful for debugging when you want - `--dry-run` : Force to display the command to execute but won't run them. Useful for debugging when you want to see the full ansible command and maybe execute them directly for better error hints to see the full ansible command and maybe execute them directly for better error hints Loading Loading @@ -172,7 +173,7 @@ They run in the following order for Flow Framework: - resource:publish - resource:publish - cache:warmup - cache:warmup Add for TYPO3 CMS (`helhum/typo3-console` package is required for this part to run): And for TYPO3 CMS (`helhum/typo3-console` package is required for this part to run): - cache:flush - cache:flush - database:updateschema --schema-update-types=field.add - database:updateschema --schema-update-types=field.add Loading
ansible/roles/database/tasks/flow.yml +3 −33 Original line number Original line Diff line number Diff line --- --- # tasks file for flow database # tasks file for flow database - name: Read remote database info (FLOW_CONTEXT=Production) - include: flow_db_dump.yml shell: FLOW_CONTEXT=Production {{ remote_php | default('') }} ./flow configuration:show --type Settings --path TYPO3.Flow.persistence.backendOptions chdir="{{ remote_path }}" when: not from_cache|bool register: db_info - name: Get remote database host shell: echo "{{ db_info.stdout }}" | grep "host:" | cut -d ' ' -f2 register: db_host - name: Get remote database name shell: echo "{{ db_info.stdout }}" | grep "dbname:" | cut -d ' ' -f2 register: db_name - name: Get remote database user shell: echo "{{ db_info.stdout }}" | grep "user:" | cut -d ' ' -f2 register: db_user - name: Get remote database password shell: echo "{{ db_info.stdout }}" | grep "password:" | cut -d ' ' -f2 register: db_pass - name: Dump remote database mysql_db: login_host="{{ db_host.stdout }}" login_user="{{ db_user.stdout }}" login_password="{{ db_pass.stdout }}" name="{{ db_name.stdout }}" state=dump target={{ remote_dump }}/{{ db_name.stdout }}.sql encoding=utf8 collation=utf8_unicode_ci - name: Sync remote database dump to local temp synchronize: mode=pull src="/{{ remote_dump }}/{{ db_name.stdout }}.sql" dest="/tmp/{{ db_name.stdout }}.sql" - name: Check local database name - name: Check local database name local_action: shell FLOW_CONTEXT={{ local_context }} {{ bin_path }}/dockerflow run -T app ./flow configuration:show --type Settings --path TYPO3.Flow.persistence.backendOptions | grep 'dbname' | cut -d ' ' -f2 local_action: shell FLOW_CONTEXT={{ local_context }} {{ bin_path }}/dockerflow run -T app ./flow configuration:show --type Settings --path TYPO3.Flow.persistence.backendOptions | grep 'dbname' | cut -d ' ' -f2 Loading @@ -48,5 +18,5 @@ chdir="{{ local_path }}" chdir="{{ local_path }}" - name: Restore local database from remote dump - name: Restore local database from remote dump local_action: shell {{ bin_path }}/dockerflow run db mysql -h db -u root -proot {{ local_db_name.stdout }} < /tmp/{{ db_name.stdout }}.sql local_action: shell {{ bin_path }}/dockerflow run db mysql -h db -u root -proot {{ local_db_name.stdout }} < /tmp/{{ ssh_user }}/db_dump.sql chdir="{{ local_path }}" chdir="{{ local_path }}"
ansible/roles/database/tasks/flow_db_dump.yml 0 → 100644 +35 −0 Original line number Original line Diff line number Diff line --- # tasks file for flow database - name: Read remote database info (FLOW_CONTEXT=Production) shell: FLOW_CONTEXT=Production {{ remote_php | default('') }} ./flow configuration:show --type Settings --path TYPO3.Flow.persistence.backendOptions chdir="{{ remote_path }}" register: db_info - name: Get remote database host shell: echo "{{ db_info.stdout }}" | grep "host:" | cut -d ' ' -f2 register: db_host - name: Get remote database name shell: echo "{{ db_info.stdout }}" | grep "dbname:" | cut -d ' ' -f2 register: db_name - name: Get remote database user shell: echo "{{ db_info.stdout }}" | grep "user:" | cut -d ' ' -f2 register: db_user - name: Get remote database password shell: echo "{{ db_info.stdout }}" | grep "password:" | cut -d ' ' -f2 register: db_pass - name: Dump remote database mysql_db: login_host="{{ db_host.stdout }}" login_user="{{ db_user.stdout }}" login_password="{{ db_pass.stdout }}" name="{{ db_name.stdout }}" state=dump target={{ remote_dump }}/{{ db_name.stdout }}.sql encoding=utf8 collation=utf8_unicode_ci - name: Sync remote database dump to local temp synchronize: mode=pull src="/{{ remote_dump }}/{{ db_name.stdout }}.sql" dest="/tmp/{{ ssh_user }}/db_dump.sql"
ansible/roles/database/tasks/typo3.yml +3 −2 Original line number Original line Diff line number Diff line Loading @@ -2,7 +2,8 @@ # tasks file for typo3 database # tasks file for typo3 database - name: Sync remote database dump to local temp - name: Sync remote database dump to local temp synchronize: mode=pull src="{{ remote_dump }}" dest="/tmp/{{ ssh_user }}.sql" synchronize: mode=pull src="{{ remote_dump }}" dest="/tmp/{{ ssh_user }}/db_dump.sql" when: not from_cache|bool - name: Drop local database - name: Drop local database local_action: shell {{ bin_path }}/dockertypo3 run db mysqladmin -h db -u root -proot drop dockertypo3 -f local_action: shell {{ bin_path }}/dockertypo3 run db mysqladmin -h db -u root -proot drop dockertypo3 -f Loading @@ -13,5 +14,5 @@ chdir="{{ local_path }}" chdir="{{ local_path }}" - name: Restore local database from remote dump - name: Restore local database from remote dump local_action: shell {{ bin_path }}/dockertypo3 run db mysql -h db -u root -proot dockertypo3 < /tmp/{{ ssh_user }}.sql local_action: shell {{ bin_path }}/dockertypo3 run db mysql -h db -u root -proot dockertypo3 < /tmp/{{ ssh_user }}/db_dump.sql chdir="{{ local_path }}" chdir="{{ local_path }}"