64 lines
1.5 KiB
YAML
64 lines
1.5 KiB
YAML
---
|
|
# tasks file for mattermost upgrade
|
|
|
|
- name: Start mattermost systemd unit
|
|
service:
|
|
name: "mattermost@{{ service }}"
|
|
state: stopped
|
|
|
|
- name: set current date and time as a fact
|
|
set_fact: backup_date="{{ ansible_date_time.iso8601_basic_short }}"
|
|
|
|
- name: backup current mattermost files
|
|
command: "mv ~/mattermost/ ~/mattermost_{{ backup_date }}"
|
|
become_user: "{{ service }}"
|
|
|
|
- name: Dump database to a file with compression
|
|
postgresql_db:
|
|
name: "{{ db_name }}"
|
|
state: dump
|
|
target: "~/{{ db_name }}.sql.gz"
|
|
become_user: postgres
|
|
|
|
- name: Unarchive new mattermost archive
|
|
unarchive:
|
|
src: "{{ download_url }}"
|
|
dest: ~/
|
|
remote_src: yes
|
|
become_user: "{{ service }}"
|
|
|
|
- name: restore dirs from backup
|
|
copy:
|
|
src: "{{ item }}"
|
|
dest: ~/mattermost
|
|
remote_src: true
|
|
loop:
|
|
- "~/mattermost_{{ backup_date }}/config"
|
|
- "~/mattermost_{{ backup_date }}/data"
|
|
- "~/mattermost_{{ backup_date }}/logs"
|
|
- "~/mattermost_{{ backup_date }}/plugins"
|
|
- "~/mattermost_{{ backup_date }}/client/plugins"
|
|
become_user: "{{ service }}"
|
|
|
|
- name: Start mattermost systemd unit
|
|
service:
|
|
name: "mattermost@{{ service }}"
|
|
state: restarted
|
|
|
|
- name: Reload nginx conf
|
|
service:
|
|
name: nginx
|
|
state: reloaded
|
|
|
|
- name: Define variable to skip next task by default
|
|
set_fact:
|
|
keep_db_dump: true
|
|
|
|
- name: Remove database dump
|
|
file:
|
|
path: "~/{{ db_name }}.sql.gz"
|
|
state: absent
|
|
become_user: postgres
|
|
when: keep_db_dump is undefined
|
|
tags: clean
|