--- # commande pour lancer le playbook: ansible-playbook update_nuage_instance.yml -e "site_domain=cyclocoop" # 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 become_user: "{{ nextcloud_websrv_user }}" become: true command: '{{ nextcloud_webroot }}/console status --output=json' register: result - name: enregistrer l'ancienne version set_fact: ancienne_version: "{{ tmp.versionstring }}" vars: tmp: "{{ result.stdout | from_json }}" tasks: - 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: yes #because the config file is already in the nextcloud_tmp_path mode: '754' #or 'u=rwx,g=rx,o=r' when: not new_nextcloud_common.stat.exists - include_tasks: tasks/update_nextcloud.yml - name: display upgrade result debug: msg: "Le nuage de {{ domain }} a été mis à jour avec la nouvelle version {{ nouvelle_version }}"