diff --git a/.gitignore b/.gitignore index 7c66abe..b205bd1 100644 --- a/.gitignore +++ b/.gitignore @@ -10,11 +10,13 @@ !/phpstan.neon !/phpunit.xml.dist !/scripts/** +!/tools/** !/web/modules/custom/** !/web/sites/default/environments/settings.*.php !/web/sites/default/settings.php !/web/themes/custom/** /.idea/workspace.xml +/tools/ansible/.roles/ /vendor/ /web/themes/custom/*/body-field-values.txt /web/themes/custom/*/dist/ diff --git a/tools/ansible/download-database.yml b/tools/ansible/download-database.yml new file mode 100644 index 0000000..1574289 --- /dev/null +++ b/tools/ansible/download-database.yml @@ -0,0 +1,34 @@ +--- +- name: Download a database + + hosts: all + + vars_files: + - vars/vars.yml + + tasks: + - name: Generate the name for the export + set_fact: + export_filename: "~/{{ lookup('pipe', 'date -u +%Y%m%d%H%M%SZ') }}.sql" + run_once: true + when: export_filename is not defined + + - name: Export the database + command: + cmd: > + ../vendor/bin/drush sql-dump + --gzip + --result-file={{ export_filename }} + chdir: "{{ project_root_path }}/{{ ansistrano_current_dir }}/{{ project_web_dir }}" + creates: "{{ export_filename }}" + + - name: Fetch the database from the server + fetch: + src: "{{ export_filename }}.gz" + dest: "{{ playbook_dir }}/../../" + flat: true + + - name: Remove the export from the server + file: + path: "{{ export_filename }}.gz" + state: absent