35c15e93ed51fde4e452f21e7f6684bdccd2e2ce
[lhc/ansible.git] / update_nuage_instance.yml
1 ---
2 # commande pour lancer le playbook: ansible-playbook update_nuage_instance.yml
3
4 - name: Promp pour définir les variables
5 hosts: ligatures
6 vars_prompt:
7
8 - name: nouvelle_version
9 prompt: 'Nouvelle version nextcloud à télécharger?(ex: 27.1.0)'
10 private: false
11
12 - name: tld
13 prompt: 'TLD du site à mettre à jour?(ex: org)'
14 private: false
15
16 - name: domain
17 prompt: 'Domaine du site à mettre à jour?(ex: heureux-cyclage)'
18 private: false
19
20 - name: sigle
21 prompt: 'Sigle du site à mettre à jour?(ex: lhc)'
22 private: false
23
24 pre_tasks:
25
26 - name: Vérif si la source nextcloud est téléchargé
27 become: true
28 ansible.builtin.stat:
29 path: "{{ nextcloud_source }}"
30 register: new_nextcloud_source
31
32 - name: Vérif si le dossier common app est créé
33 become: true
34 ansible.builtin.stat:
35 path: "{{ nextcloud_common }}"
36 register: new_nextcloud_common
37
38 - name: Obtenir l'ancienne version # noqa : command-instead-of-module
39 become_user: "{{ nextcloud_websrv_user }}"
40 become: true
41 ansible.builtin.command: '{{ nextcloud_webroot }}/console status --output=json'
42 register: result
43
44 - name: Enregistrer l'ancienne version
45 ansible.builtin.set_fact:
46 ancienne_version: "{{ tmp.versionstring }}"
47 vars:
48 tmp: "{{ result.stdout | from_json }}"
49
50 tasks:
51
52 - name: Include download_nextcloud_source tasks
53 ansible.builtin.include_tasks: tasks/download_nextcloud_source.yml
54 when: not new_nextcloud_source.stat.exists
55 vars:
56 ansible_become: true
57 become_user: nextcloud
58
59 - name: Create new app common folder from old version one
60 become_user: nextcloud
61 become: true
62 ansible.builtin.copy:
63 src: "{{ nextcloud_common_files_path }}/nextcloud-{{ ancienne_version }}/"
64 dest: "{{ nextcloud_common_files_path }}/nextcloud-{{ nouvelle_version }}"
65 remote_src: true # because the copy is from remote host to remote host
66 mode: '754' # or 'u=rwx,g=rx,o=r'
67 when: not new_nextcloud_common.stat.exists
68
69 - name: Include update tasks
70 ansible.builtin.include_tasks: tasks/update_nextcloud.yml
71
72 - name: Display upgrade result
73 ansible.builtin.debug:
74 msg: "Le nuage de {{ domain }} a été mis à jour avec la nouvelle version {{ nouvelle_version }}"