Files

63 lines
2.0 KiB
YAML

---
- name: Crear directori d'instal·lació de WordPress si no existeix
ansible.builtin.file:
path: "{{ wp_install_dir }}"
state: directory
owner: www-data
group: www-data
mode: '0755'
- 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: 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: 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"
owner: www-data
group: www-data
mode: '0640'