ansible-roles/roles/squash_tm/tasks/archive_pre.yml

61 lines
1.7 KiB
YAML

---
- name: Create archive dir
file: path={{ squashtm_root_dir }}/archives/{{ squashtm_current_version }} state=directory
tags: squashtm
- name: Stop service during upgrade
service: name={{ item }} state=stopped
loop:
- squash-tm
tags: squashtm
- name: Archive current version
synchronize:
src: "{{ squashtm_root_dir }}/{{ item }}"
dest: "{{ squashtm_root_dir }}/archives/{{ squashtm_current_version }}/"
delete: True
compress: False
delegate_to: "{{ inventory_hostname }}"
loop:
- app
tags: squashtm
- when: squashtm_db_engine == 'mysql'
block:
- name: Install mysqldump
package: name=mariadb
- name: Dump the database
mysql_db:
state: dump
name: "{{ squashtm_db_name }}"
target: "{{ squashtm_root_dir }}/archives/{{ squashtm_current_version }}/{{ squashtm_db_name }}.sql"
login_host: "{{ squashtm_db_server }}"
login_port: "{{ squashtm_db_port }}"
login_user: "{{ squashtm_db_user }}"
login_password: "{{ squashtm_db_pass }}"
quick: True
single_transaction: True
tags: squashtm
- when: squashtm_db_engine == 'postgres'
block:
- name: Install pg_dump
package: name=postgresql16
- name: Dump the database
command: >
/usr/pgsql-16/bin/pg_dump
--clean
--create
--host={{ squashtm_db_server | quote }}
--port={{ squashtm_db_port | quote }}
--username={{ squashtm_db_user | quote }} {{ squashtm_db_name | quote }}
--file="{{ squashtm_root_dir }}/archives/{{ squashtm_current_version }}/{{ squashtm_db_name }}.sql"
environment:
- PGPASSWORD: "{{ squashtm_db_pass }}"
tags: squashtm