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