ansible-roles/webapps/mattermost/tasks/upgrade.yml
Mathieu Gauthier-Pilote 5122d7128a
All checks were successful
Ansible Lint |Total|New|Outstanding|Fixed|Trend |:-:|:-:|:-:|:-:|:-: |4838|0|4838|0|:zzz:
gitea/ansible-roles/pipeline/head This commit looks good
New role to install + upgrade Mattermost
2023-03-29 15:58:00 -04:00

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