diff --git a/roles/cache_clear/cache_clear-opcache/defaults/main.yml b/roles/cache_clear/cache_clear-opcache/defaults/main.yml index 8121226e..5c221989 100644 --- a/roles/cache_clear/cache_clear-opcache/defaults/main.yml +++ b/roles/cache_clear/cache_clear-opcache/defaults/main.yml @@ -4,7 +4,7 @@ cache_clear_opcache: # eg. # --fcgi=127.0.0.1:9000 # Leave blank to use /etc/cachetool.yml - adapter: "" + adapter: "127.0.0.1:90{{ _php_version | replace('.','') }}" # Bins to clear. clear_opcache: true clear_apcu: false diff --git a/roles/cache_clear/cache_clear-opcache/tasks/main.yml b/roles/cache_clear/cache_clear-opcache/tasks/main.yml index bee9e6fa..a392509a 100644 --- a/roles/cache_clear/cache_clear-opcache/tasks/main.yml +++ b/roles/cache_clear/cache_clear-opcache/tasks/main.yml @@ -1,4 +1,8 @@ --- +- name: Get latest php installed + ansible.builtin.shell: + cmd: "ls /etc/php/ | tail -1" + register: _php_version - name: Clear opcache. command: @@ -13,4 +17,4 @@ - name: Clear stats. command: cmd: "{{ cachetool_bin }} {{ cache_clear_opcache.adapter }} -n stat:clear" - when: cache_clear_opcache.clear_stat \ No newline at end of file + when: cache_clear_opcache.clear_stat diff --git a/roles/cli/cachetool/defaults/main.yml b/roles/cli/cachetool/defaults/main.yml index 5ec1b2d7..8b98934d 100644 --- a/roles/cli/cachetool/defaults/main.yml +++ b/roles/cli/cachetool/defaults/main.yml @@ -1,3 +1,3 @@ --- cachetool: - version: latest # # enter three-digit version number, e.g. "7.0.0", to install a specific version \ No newline at end of file + version: "" # enter three-digit version number, e.g. "7.0.0", to install a specific version. If not specified, will be installed depending on the php version. diff --git a/roles/cli/cachetool/tasks/main.yml b/roles/cli/cachetool/tasks/main.yml index aa27df04..12cba942 100644 --- a/roles/cli/cachetool/tasks/main.yml +++ b/roles/cli/cachetool/tasks/main.yml @@ -13,22 +13,74 @@ when: - deploy_operation == 'deploy' -- name: Download latest cachetool installer. - get_url: - url: "http://gordalina.github.io/cachetool/downloads/cachetool.phar" - dest: "{{ cachetool_bin }}" - mode: 0755 +- name: Download cachetool depending on latest php version installed. # If not specified manually, according to https://github.com/gordalina/cachetool#compatibility + block: + - name: Get latest php installed + ansible.builtin.shell: + cmd: "ls /etc/php/ | tail -1 | sed -e 's/\\.//g'" + register: _php_version_str + + - name: Download latest cachetool installer if PHP is 8.1 or newer. + ansible.builtin.get_url: + url: "http://gordalina.github.io/cachetool/downloads/cachetool.phar" + dest: "{{ cachetool_bin }}" + mode: 0755 + when: + - _php_version_str.stdout | int >= 81 + + - name: Download cachetool version 8.5.0 installer if PHP is 8.0. + ansible.builtin.get_url: + url: "http://gordalina.github.io/cachetool/downloads/cachetool-8.5.0.phar" + dest: "{{ cachetool_bin }}" + mode: 0755 + when: + - _php_version_str.stdout | int == 80 + + - name: Download cachetool version 7.1.0 installer if PHP is 7.3 or newer. + ansible.builtin.get_url: + url: "http://gordalina.github.io/cachetool/downloads/cachetool-7.1.0.phar" + dest: "{{ cachetool_bin }}" + mode: 0755 + when: + - _php_version_str.stdout | int >= 73 + - _php_version_str.stdout | int < 80 + + - name: Download cachetool version 5.1.3 installer if PHP is 7.2. + ansible.builtin.get_url: + url: "http://gordalina.github.io/cachetool/downloads/cachetool-5.1.3.phar" + dest: "{{ cachetool_bin }}" + mode: 0755 + when: + - _php_version_str.stdout | int == 72 + + - name: Download cachetool version 4.1.1 installer if PHP is 7.1. + ansible.builtin.get_url: + url: "http://gordalina.github.io/cachetool/downloads/cachetool-4.1.1.phar" + dest: "{{ cachetool_bin }}" + mode: 0755 + when: + - _php_version_str.stdout | int == 71 + + - name: Download cachetool version 3.2.2 installer if PHP version is too old. + ansible.builtin.get_url: + url: "http://gordalina.github.io/cachetool/downloads/cachetool-3.2.2.phar" + dest: "{{ cachetool_bin }}" + mode: 0755 + when: + - _php_version_str.stdout | int < 71 + when: - deploy_operation == 'deploy' - not cachetool_global.stat.exists - - cachetool.version == 'latest' + - cachetool.version | length == 0 - name: "Download cachetool version {{ cachetool.version }} installer." - get_url: + ansible.builtin.get_url: url: "http://gordalina.github.io/cachetool/downloads/cachetool-{{ cachetool.version }}.phar" dest: "{{ cachetool_bin }}" mode: 0755 when: - deploy_operation == 'deploy' - not cachetool_global.stat.exists - - cachetool.version != 'latest' + - cachetool.version is defined + - cachetool.version | length > 0 diff --git a/roles/maintenance_mode/maintenance_mode-drupal-core/tasks/offline.yml b/roles/maintenance_mode/maintenance_mode-drupal-core/tasks/offline.yml index 5fd4ddd0..f8ae276c 100644 --- a/roles/maintenance_mode/maintenance_mode-drupal-core/tasks/offline.yml +++ b/roles/maintenance_mode/maintenance_mode-drupal-core/tasks/offline.yml @@ -12,7 +12,7 @@ - name: Enable maintenance mode D7. ansible.builtin.command: - cmd: "{{ drush_bin }} -l {{ site.folder }} vset maintenance_mode 1 --root {{ live_symlink_dest }}/{{ webroot }}/sites/{{ site.folder }}" + cmd: "{{ drush_bin }} -l {{ site.folder }} vset maintenance_mode 1" args: chdir: "{{ live_symlink_dest }}/{{ webroot }}/sites/{{ site.folder }}" become: "{{ 'no' if www_user == deploy_user else 'yes' }}" diff --git a/roles/maintenance_mode/maintenance_mode-drupal-core/tasks/online.yml b/roles/maintenance_mode/maintenance_mode-drupal-core/tasks/online.yml index 8337c968..dfc3e3b3 100644 --- a/roles/maintenance_mode/maintenance_mode-drupal-core/tasks/online.yml +++ b/roles/maintenance_mode/maintenance_mode-drupal-core/tasks/online.yml @@ -11,7 +11,7 @@ - name: Disable maintenance mode D7. ansible.builtin.command: - cmd: "{{ drush_bin }} -l {{ site.folder }} vset maintenance_mode 0 --root {{ deploy_path }}/{{ webroot }}/sites/{{ site.folder }}" + cmd: "{{ drush_bin }} -l {{ site.folder }} vset maintenance_mode 0" args: chdir: "{{ deploy_path }}/{{ webroot }}/sites/{{ site.folder }}" become: "{{ 'no' if www_user == deploy_user else 'yes' }}"