63 lines
2.0 KiB
YAML
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' |