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