---
# commande pour lancer le playbook: ansible-playbook update_nuage_instance.yml
+# ATTENTION pour l'instance "test-nuage" il faut lancer la commande ci-dessous pour lancer le playbook:
+# ansible-playbook update_nuage_instance.yml --extra-vars "test_nuage=true"
- name: Promp pour définir les variables
hosts: ligatures
vars_prompt:
- name: nouvelle_version
- prompt: 'Nouvelle version nextcloud à télécharger?(ex: 27.1.0)'
+ prompt: 'Nouvelle version nextcloud à télécharger?(ex: 27.1.8)'
private: false
+ default: "27.1.8"
- - name: tld
+ - name: TLD
prompt: 'TLD du site à mettre à jour?(ex: org)'
private: false
+ default: "org"
- - name: domain
+ - name: DOMAIN
prompt: 'Domaine du site à mettre à jour?(ex: heureux-cyclage)'
private: false
+ default: "heureux-cyclage"
- - name: sigle
+ - name: SIGLE
prompt: 'Sigle du site à mettre à jour?(ex: lhc)'
private: false
+ default: "lhc"
pre_tasks:
- - name: Vérif si la source nextcloud est téléchargé
+ - name: Vérif si la source nextcloud est téléchargée
become: true
ansible.builtin.stat:
path: "{{ nextcloud_source }}"
register: new_nextcloud_source
- - name: Vérif si le dossier common app est créé
+ - name: Vérif' si le dossier common app est créé
become: true
ansible.builtin.stat:
path: "{{ nextcloud_common }}"
register: new_nextcloud_common
+ - name: specific test-nuage tasks
+ ansible.builtin.set_fact:
+ nextcloud_webroot: "/home/sites/data/{{ TLD }}/{{ DOMAIN }}/test-nuage"
+ nextcloud_websrv_user: site_lhc_test-nuage
+ nextcloud_php_user: php_lhc_test_nuage
+ when: test_nuage is defined
+
- name: Obtenir l'ancienne version # noqa : command-instead-of-module
- become_user: "{{ nextcloud_websrv_user }}"
+ become_user: "{{ nextcloud_php_user }}"
become: true
ansible.builtin.command: '{{ nextcloud_webroot }}/console status --output=json'
register: result
mode: '754' # or 'u=rwx,g=rx,o=r'
when: not new_nextcloud_common.stat.exists
- - name: Include update tasks
- ansible.builtin.include_tasks: tasks/update_nextcloud.yml
+ - name: Include backup tasks
+ ansible.builtin.include_tasks: tasks/backup_nextcloud.yml
+
+ - name: block upgrade
+ block:
+
+ - name: Include update tasks
+ ansible.builtin.include_tasks: tasks/update_nextcloud.yml
+
+ - name: Display upgrade result
+ ansible.builtin.debug:
+ msg: "Le nuage de {{ DOMAIN }} a été mis à jour avec la nouvelle version {{ nouvelle_version }}"
+
+ always:
+
+ - name: Demande si besoin de restaurer la version précédente
+ ansible.builtin.pause:
+ prompt: 'Voulez-vous restaurer la version precedente?(oui/non)'
+ echo: true
+ register: restore_promp
+
+ - name: Definir la variable restore
+ ansible.builtin.set_fact:
+ restore: "{{ restore_promp.user_input | default(non) }}"
- - name: Display upgrade result
- ansible.builtin.debug:
- msg: "Le nuage de {{ domain }} a été mis à jour avec la nouvelle version {{ nouvelle_version }}"
+ - name: Include restore tasks si restore = oui
+ ansible.builtin.include_tasks: tasks/restore_nextcloud.yml
+ when: restore == 'oui'
\ No newline at end of file