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