mirror of
https://git.lapiole.org/dani/ansible-roles.git
synced 2025-04-12 00:03:17 +02:00
61 lines
1.7 KiB
YAML
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
|
|
|