From 4c633d80014ffc4b513d39c4f9c58c0138597f95 Mon Sep 17 00:00:00 2001 From: Guillem Hernandez Sola Date: Thu, 21 May 2026 17:18:56 +0200 Subject: [PATCH] =?UTF-8?q?nova=20versi=C3=B3=20de=20wordpress=20si=20s'ac?= =?UTF-8?q?tualitza=20via=20Ansible?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- roles/wordpress/tasks/main.yml | 61 ++++++++++++++++++++++++++-------- 1 file changed, 47 insertions(+), 14 deletions(-) diff --git a/roles/wordpress/tasks/main.yml b/roles/wordpress/tasks/main.yml index c041ae3..8c664be 100644 --- a/roles/wordpress/tasks/main.yml +++ b/roles/wordpress/tasks/main.yml @@ -1,5 +1,5 @@ --- -- name: Crear directori d'instal·lació de WordPress +- name: Crear directori d'instal·lació de WordPress si no existeix ansible.builtin.file: path: "{{ wp_install_dir }}" state: directory @@ -7,21 +7,54 @@ group: www-data mode: '0755' -- name: Descarregar WordPress - ansible.builtin.get_url: - url: "https://wordpress.org/wordpress-{{ wp_version }}.tar.gz" - dest: /tmp/wordpress.tar.gz +- name: Comprovar la versió actual de WordPress instal·lada + ansible.builtin.slurp: + src: "{{ wp_install_dir }}/.wp_version" + register: wp_current_version_encoded + failed_when: false -- name: Extreure WordPress - ansible.builtin.unarchive: - src: /tmp/wordpress.tar.gz - dest: /var/www/html/ - remote_src: yes - owner: www-data - group: www-data - creates: "{{ wp_install_dir }}/wp-login.php" +- name: Definir la versió actual com a variable + ansible.builtin.set_fact: + wp_current_version: "{{ (wp_current_version_encoded.content | b64decode | trim) if wp_current_version_encoded.content is defined else '0.0.0' }}" -- name: Copiar wp-config.php +- name: Bloc d'actualització (S'executa només si canvia la versió) + block: + - name: Trobar fitxers de WordPress anteriors per netejar (mantenint wp-content i wp-config) + ansible.builtin.find: + paths: "{{ wp_install_dir }}" + excludes: + - 'wp-content' + - 'wp-config.php' + - '.wp_version' + file_type: any + hidden: true + register: files_to_delete + + - name: Eliminar fitxers de la versió antiga + ansible.builtin.file: + path: "{{ item.path }}" + state: absent + loop: "{{ files_to_delete.files }}" + + - name: Descarregar i extreure la nova versió de WordPress directament + ansible.builtin.unarchive: + src: "https://wordpress.org/wordpress-{{ wp_version }}.tar.gz" + dest: "{{ wp_install_dir }}" + remote_src: yes + owner: www-data + group: www-data + extra_opts: [--strip-components=1] + + - name: Desar el registre de la nova versió instal·lada + ansible.builtin.copy: + content: "{{ wp_version }}" + dest: "{{ wp_install_dir }}/.wp_version" + owner: www-data + group: www-data + mode: '0644' + when: wp_version != wp_current_version + +- name: Copiar o actualitzar wp-config.php (S'executa sempre per seguretat) ansible.builtin.template: src: wp-config.php.j2 dest: "{{ wp_install_dir }}/wp-config.php"