From 7a6a69eba60124ab96f58d1ece32c5034a539977 Mon Sep 17 00:00:00 2001 From: jurgenhaas <juergen@paragon-es.de> Date: Mon, 1 Feb 2021 15:53:37 +0100 Subject: [PATCH] gitlab-ci-cd/drupal#12 Add optional tasks to reset locales after a Drupal site deployment --- defaults/main.yml | 1 + tasks/install.yml | 9 +++++++++ tasks/main.yml | 1 + tasks/reset-locale.yml | 41 +++++++++++++++++++++++++++++++++++++++++ 4 files changed, 52 insertions(+) create mode 100644 tasks/reset-locale.yml diff --git a/defaults/main.yml b/defaults/main.yml index 33fd487..8a623f7 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -24,6 +24,7 @@ drupal_post_deploy_tasks: - updatedb - config-import sync - dev-modules {{ (drupal.dev_mode|default(false))|ternary("on","off") }} + - php:eval "node_access_rebuild();" - sset system.maintenance_mode 0 - cache-rebuild diff --git a/tasks/install.yml b/tasks/install.yml index e3ccffa..caf840f 100644 --- a/tasks/install.yml +++ b/tasks/install.yml @@ -390,6 +390,7 @@ changed_when: no tags: - deploy + - reset-locale - name: Post Deploy Tasks include_tasks: deploy/post-tasks.yml @@ -398,3 +399,11 @@ loop_var: drupal_domain tags: - deploy + +- name: Reset Locale + include_tasks: reset-locale.yml + with_items: '{{ drupal.domains }}' + loop_control: + loop_var: drupal_domain + tags: + - reset-locale diff --git a/tasks/main.yml b/tasks/main.yml index 8aca847..bcbc06d 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -36,6 +36,7 @@ - deploy - SetPermissions - mysql + - reset-locale - name: Install HAProxy redirects collector include_tasks: haproxy_redirects_collector.yml diff --git a/tasks/reset-locale.yml b/tasks/reset-locale.yml new file mode 100644 index 0000000..0096710 --- /dev/null +++ b/tasks/reset-locale.yml @@ -0,0 +1,41 @@ +--- +# file: roles/drupal/tasks/reset-locale.yml + +- block: + + - name: Set default facts + set_fact: + drushAlias: '@{{ drupal.id }}.{{ drupal_domain.shortname|default("default") }}' + drushAliasValidate: "'@{{ drupal.id }}.{{ drupal_domain.shortname|default('default') }}':" + - name: Set facts for Drush 8 + set_fact: + drushAlias: '@{{ inventory_hostname }}{{ drushSubkey }}.{{ drupal_domain.shortname|default("default") }}' + drushAliasValidate: '@{{ inventory_hostname }}{{ drushSubkey }}.{{ drupal_domain.shortname|default("default") }}' + when: drush_version_main|default('8') == '8' + + - name: Reset locale + shell: drush -y {{ drushAlias }} {{ item }} + args: + chdir: '{{ webRoot }}' + with_items: + - sql:query "truncate locales_location;" + - sql:query "truncate locales_source;" + - sql:query "truncate locales_target;" + - sql:query "truncate locale_file;" + - sql:query "delete from key_value where collection='locale.translation_status';" + - sdel locale.translation_last_checked + - locale:check + - locale:update + changed_when: no + when: drushAliasValidate in drush_aliases.stdout_lines + + - name: Import extra locale files + shell: drush -y {{ drushAlias }} locale:import {{ item.lang }} {{ item.file }} --type=custom --override=all + args: + chdir: '{{ webRoot }}' + with_items: '{{ drupal_domain.extra_locales|default([]) }}' + changed_when: no + when: drushAliasValidate in drush_aliases.stdout_lines + + tags: + - reset-locale -- GitLab