--- # commande pour lancer le playbook: ansible-playbook update_nuage_instance.yml - 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)' private: false - name: tld prompt: 'TLD du site à mettre à jour?(ex: org)' private: false - name: domain prompt: 'Domaine du site à mettre à jour?(ex: heureux-cyclage)' private: false - name: sigle prompt: 'Sigle du site à mettre à jour?(ex: lhc)' private: false pre_tasks: - name: Vérif si la source nextcloud est téléchargé become: true ansible.builtin.stat: path: "{{ nextcloud_source }}" register: new_nextcloud_source - name: Vérif si le dossier common app est créé become: true ansible.builtin.stat: path: "{{ nextcloud_common }}" register: new_nextcloud_common - name: Obtenir l'ancienne version # noqa : command-instead-of-module become_user: "{{ nextcloud_websrv_user }}" become: true ansible.builtin.command: '{{ nextcloud_webroot }}/console status --output=json' register: result - name: Enregistrer l'ancienne version ansible.builtin.set_fact: ancienne_version: "{{ tmp.versionstring }}" vars: tmp: "{{ result.stdout | from_json }}" tasks: - name: Include download_nextcloud_source tasks ansible.builtin.include_tasks: tasks/download_nextcloud_source.yml when: not new_nextcloud_source.stat.exists vars: ansible_become: true become_user: nextcloud - name: Create new app common folder from old version one become_user: nextcloud become: true ansible.builtin.copy: src: "{{ nextcloud_common_files_path }}/nextcloud-{{ ancienne_version }}/" dest: "{{ nextcloud_common_files_path }}/nextcloud-{{ nouvelle_version }}" remote_src: true # because the copy is from remote host to remote host 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: Display upgrade result ansible.builtin.debug: msg: "Le nuage de {{ domain }} a été mis à jour avec la nouvelle version {{ nouvelle_version }}"